| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- node{
- stage('Prepare Node and NPM') { // confirm nodejs plugin and setting
- tools {
- nodejs "NodeJS"
- }
-
- }
-
-
- stage('checkout'){
- deleteDir()
- checkout scm
- echo 'Pulling..................' + env.BRANCH_NAME
- }
- stage('Stop Container'){
- 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('Build Container')
- // {
- // imageApache=docker.build('server-apache-dev', '--no-cache -f build/docker/apache/Dockerfile .')
- // imageSql=docker.build('server-mysql-dev', '--no-cache -f build/docker/mysql/Dockerfile .')
- // containerMysql=imageSql.run('--name server-mysql-dev')
- // containerApache=imageApache.run('-p 8080:80 --link server-mysql-dev:mysql')
- // }
- // stage('Waiting Container'){
- // waitUntil{
- // try{
- // sh "docker exec ${containerApache.id} php -v"
- // return true
- // } catch(Exception $e){
- // return false
- // }
- // }
- // }
- stage('stage 1bis'){
- sh 'docker -v'
- sh 'docker ps'
- }
-
- stage('stage 2bis'){
- sh 'ls -ls'
- }
- stage('Test') {
-
- dir("${env.WORKSPACE}/angular-client") {
- sh 'npm install phantomjs-prebuilt --save-dev'
- sh 'npm install --legacy-peer-deps'
-
- try {
-
- // Exporter la variable d'environnement NODE_OPTIONS
- sh 'export NODE_OPTIONS=--openssl-legacy-provider && npm run test-ci'
-
- } catch(err) {
- sh 'echo TEST FAILED'
- junit 'target/surefire-reports/TESTS-TestSuite.xml/*.xml'
- throw err
- }
- }
- }
- // 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 /var/log:/var/www/app/log/root --link database_preprod:mongo --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("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(Test Deployment)')
- // {
- // sh 'docker-compose -v'
- // sh 'docker-compose build'
- // sh 'docker-compose up -d'
- // }
-
- stage('Fin du Pipeline')
- {
- sh 'echo "Félicitation tout c\'est bien déroulé!"'
- }
- }
|