| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- node {
- env.NODEJS_HOME = "${tool 'NodeJS'}"
- // on linux / mac
- env.PATH="${env.NODEJS_HOME}/bin:${env.PATH}"
- // on windows
- //env.PATH="${env.NODEJS_HOME};${env.PATH}"
- sh 'npm --version'
- stage('checkout') {
- deleteDir()
- checkout scm
- }
-
- stage('Stop Containers') {
- sh 'docker ps | grep "workflow_" -v | awk -F " " \'{ if(NR>1) print $1}\' |xargs docker kill |xargs docker rm || true'
- sh 'docker system prune -f'
- }
-
- node {
- env.NODEJS_HOME = "${tool 'NodeJS'}"
- // on linux / mac
- env.PATH="${env.NODEJS_HOME}/bin:${env.PATH}"
- // on windows
- //env.PATH="${env.NODEJS_HOME};${env.PATH}"
- sh 'npm --version'
- stage('checkout') {
- deleteDir()
- checkout scm
- }
-
- stage('Stop Containers') {
- sh 'docker ps | grep "workflow_" -v | awk -F " " \'{ if(NR>1) print $1}\' |xargs docker kill |xargs docker rm || true'
- sh 'docker system prune -f'
- }
-
- stage('Push Docker images to Nexus') {
- environment {
- NEXUS_URL = 'https://nexus.foodgame.fr'
- NEXUS_CREDENTIAL_ID = 'nexus'
- NEXUS_USERNAME = 'admin'
- NEXUS_PASSWORD = 'azerty10'
- DOCKER_IMAGE_NAME = 'workflow_jenkins_1'
- DOCKER_IMAGE_TAG = 'latest'
- }
- script {
- withCredentials([usernamePassword(credentialsId: env.NEXUS_CREDENTIAL_ID, usernameVariable: 'NEXUS_USERNAME', passwordVariable: 'NEXUS_PASSWORD')]) {
- def dockerImage = "${env.DOCKER_IMAGE_NAME}:${env.DOCKER_IMAGE_TAG}"
- def dockerRegistryUrl = "${env.NEXUS_URL}/repository/${env.DOCKER_IMAGE_NAME}/"
- // Build Docker image
- sh "docker build -t ${dockerImage} ."
- // Tag Docker image for Nexus repository
- sh "docker tag ${dockerImage} ${dockerRegistryUrl}${dockerImage}"
- // Login to Nexus Docker registry
- sh "docker login -u ${env.NEXUS_USERNAME} -p ${env.NEXUS_PASSWORD} ${env.NEXUS_URL}"
- // Push Docker image to Nexus repository
- sh "docker push ${dockerRegistryUrl}${dockerImage}"
- }
- }
- }
- stage('Build Docker MEAN Stack(PreProduction Deployment)') {
- sh 'docker-compose -v'
- sh 'docker-compose stop'
- sh 'docker-compose build'
- sh 'docker-compose up -d'
- }
- stage('Fin du Pipeline') {
- sh 'echo "Félicitation tout s\'est bien déroulé!"'
- }
- }
- stage('Build Docker MEAN Stack(PreProduction Deployment)') {
- sh 'docker-compose -v'
- sh 'docker-compose stop'
- sh 'docker-compose build'
- sh 'docker-compose up -d'
- }
- stage('Fin du Pipeline') {
- sh 'echo "Félicitation tout s\'est bien déroulé!"'
- }
- }
|