| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- 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 Preprod Container")
- // {
- // echo e ;
- // }
-
- // stage("Stop Preprod Container")
- // {
- // sh "docker kill server-apache-preprod server-express-preprod | docker rm server-apache-preprod server-express-preprod || true"
- // sh 'docker system prune -f'
- // }
- def imageApache = stage("Build apache preprod")
- {
- docker.build("server-apache-preprod", "--no-cache --label traefik.enable=true --label traefik.http.routers.server-apache-preprod.rule='Host(`angular-preprod.foodgame.fr`)' --label traefik.http.routers.server-apache-preprod.entrypoints=websecure --label traefik.http.routers.server-apache-preprod.tls.certresolver=myresolver -f build/docker/httpd/Dockerfile .")
- }
-
- def imageExpress = stage("Build express preprod")
- {
- docker.build("server-express-preprod", "--no-cache -f express-server/Dockerfile express-server")
- }
- stage("Run Container express preprod")
- {
- containerSql=imageExpress.run("--name server-express-preprod -v /home/formation/workflow/mysql:/var/lib/mysql --network=web")
- }
-
- stage("Run Container apache preprod")
- {
- containerApache=imageApache.run("--name server-apache-preprod --link server-mysql-preprod:mysql --network=web")
- }
-
- /*stage("Run Container express preprod")
- {
- containerSql=imageExpress.run("--name server-express-preprod -v /home/projet/fatboar/${e}/mysql:/var/lib/mysql --network=web")
- }
-
- stage("Run Container apache preprod")
- {
- containerApache=imageApache.run("--name server-apache-preprod --link server-mysql-preprod:mysql --network=web")
- }*/
-
-
- // stage("Wait mysql"){
- // imageSql.inside {
- // sh 'while ! mysqladmin ping -h0.0.0.0 --silent; do sleep 1; done'
- // }
- // }
- // stage("Run test"){
- // imageApache.inside {
- // sh "php /var/www/src/bin/console doctrine:schema:update --force"
- // sh "php /var/www/src/bin/phpunit"
- // }
- // }
-
-
- // stage("Push preprod images to nexus")
- // {
- // docker.withRegistry('http://localhost:8083','885ef60c-9352-489a-bd1c-e4b695747c21')
- // {
- // imageApache.push('latest')
- // imageExpress.push('latest')
- // }
- // }
- // stage('Test')
- // {
-
- // dir("${env.WORKSPACE}/angular-client")
- // {
- // // sh 'npm i @angular-devkit/build-angular'
-
- // try
- // {
- // sh 'npm run test-ci'
- // }
- // catch(err)
- // {
- // sh 'echo TEST FAILED'
- // junit 'target/surefire-reports/TESTS-TestSuite.xml/*.xml'
- // throw err
- // }
-
- // /*def karma = docker.image('trion/ng-cli-karma')
- // karma.pull()
- // try
- // {
- // karma.run(' -u $(id -u) -v ${WORKSPACE}:/app trion/ng-cli-karma ')
- // karma.inside
- // {
- // sh 'npm install'
-
- // try
- // {
- // sh ('./node_modules/karma/bin/karma start karma.conf.js')
- // }
- // catch(err)
- // {
- // sh 'echo TEST FAILED'
- // step([$class: 'JUnitResultArchiver', testResults: 'target/surefire-reports/TESTS-TestSuite.xml/*.xml', healthScaleFactor: 1.0])
- // throw err
- // }
- // sh 'echo DO SOMETHING ELSE AFTER TEST'
- // }
- // sh 'ls -al '
- // }
- // catch(err)
- // {
- // sh 'echo RUN DOCKER FAILED'
- // throw err
- // }*/
- // }
- // }
-
- stage('ls')
- {
- sh 'ls -ls'
- }
- <<<<<<< HEAD
-
- stage("Run Container apache preprod")
- {
- containerApache=imageApache.run("--name server-apache-preprod --link server-mysql-preprod:mysql --network=web")
- }*/
- // stage("Push preprod images to nexus")
- // {
- // /*docker.withRegistry('http://localhost:8083','885ef60c-9352-489a-bd1c-e4b695747c21')
- // {
- // imageApache.push('latest')
- // imageExpress.push('latest')
- // }*/
- // }
- stage('SonarQube analysis')
- {
- def scannerHome = tool name: 'SonarQube Scanner', type: 'hudson.plugins.sonar.SonarRunnerInstallation';
- withSonarQubeEnv('SonarQube')
- {
- // If you have configured more than one global server connection, you can specify its name
- sh "${scannerHome}/bin/sonar-scanner \
- -Dsonar.projectKey=FatboarProject \
- -Dsonar.sources=. \
- -Dsonar.host.url=https://sonarqube.foodgame.fr \
- -Dsonar.login=sqp_09ee9072c917af8212864baf0f75c950afc14c64"
- }
- }
-
- 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 c\'est bien déroulé!"'
- }
- =======
- >>>>>>> dev
- }
|