Jenkinsfile 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. node {
  2. node {
  3. env.NODEJS_HOME = "${tool 'NodeJS'}"
  4. // on linux / mac
  5. env.PATH="${env.NODEJS_HOME}/bin:${env.PATH}"
  6. // on windows
  7. //env.PATH="${env.NODEJS_HOME};${env.PATH}"
  8. sh 'npm --version'
  9. stage('checkout') {
  10. deleteDir()
  11. checkout scm
  12. sh "git checkout test"
  13. }
  14. stage('Stop Containers') {
  15. stage('checkout') {
  16. deleteDir()
  17. checkout scm
  18. }
  19. stage('Stop Containers') {
  20. sh 'docker ps | grep "workflow_" -v | awk -F " " \'{ if(NR>1) print $1}\' |xargs docker kill |xargs docker rm || true'
  21. sh 'docker system prune -f'
  22. }
  23. // stage('Push Docker image to Nexus') {
  24. // withDockerRegistry([credentialsId: 'nexus', url: 'https://nexus.foodgame.fr']) {
  25. // // Définition des variables
  26. // def dockerImageName = 'workflow_jenkins_1'
  27. // def dockerImageTag = 'latest'
  28. // def nexusRepository = 'fatboar_repo'
  29. // // Étape de balisage de l'image Docker pour le registre Nexus
  30. // sh "docker tag ${dockerImageName}:${dockerImageTag} ${nexusRepository}/${dockerImageName}:${dockerImageTag}"
  31. // // Étape de poussée de l'image Docker vers le registre Nexus
  32. // sh "docker push ${nexusRepository}/${dockerImageName}:${dockerImageTag}"
  33. // }
  34. // }
  35. stage('Build Docker MEAN Stack(PreProduction Deployment)') {
  36. sh 'docker-compose -v'
  37. sh 'docker-compose stop'
  38. sh 'docker-compose build'
  39. sh 'docker-compose up -d'
  40. }
  41. stage('Fin du Pipeline') {
  42. sh 'echo "Félicitation tout s\'est bien déroulé!"'
  43. }
  44. }