formation 2 tahun lalu
induk
melakukan
7f9e05ba30
1 mengubah file dengan 17 tambahan dan 122 penghapusan
  1. 17 122
      Jenkinsfile

+ 17 - 122
Jenkinsfile

@@ -1,131 +1,26 @@
-node{ 
-   stage('Prepare Node and NPM') { // confirm nodejs plugin and setting
+node {
+    // Utiliser la version spécifique de Node.js définie dans Jenkins
     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('Install dependencies') {
+        sh 'npm install --legacy-peer-deps'
     }
-    //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 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
+            }
+        }
     }
-   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
-    }
+    // Autres étapes de construction, déploiement, etc.
 }
-
-   }
-
-
-    // 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é!"'  
-   }
-}