Commit d139122d authored by Luca Verardo's avatar Luca Verardo
Browse files

WIP

parent 16a19568
Loading
Loading
Loading
Loading
+53 −55
Original line number Diff line number Diff line
@@ -6,62 +6,62 @@ pipeline {
        }
    }
    stages {
        stage('Build') { 
            steps {
                script {
                    docker.image('maven:3-alpine').inside { c ->
                        checkout scm
                        sh 'mv src/main/resources/application.properties.production src/main/resources/application.properties'
                        sh 'mvn -B -DskipTests clean package' 
                    }
                }
        // stage('Build') { 
        //     steps {
        //         script {
        //             docker.image('maven:3-alpine').inside { c ->
        //                 checkout scm
        //                 sh 'mv src/main/resources/application.properties.production src/main/resources/application.properties'
        //                 sh 'mvn -B -DskipTests clean package' 
        //             }
        //         }

                
            }
        }
        stage('Test') {
            steps{
                script {
                    docker.image('mysql').withRun('-e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=mentorarc -e MYSQL_USER=mentorarc -e MYSQL_PASSWORD=mentorarc') { c ->
                        docker.image('mysql').inside("--link ${c.id}:db") {
                            /* Wait until mysql service is up */
                            sh 'while ! mysqladmin ping -hdb --silent; do sleep 1; done'
                        }
        //     }
        // }
        // stage('Test') {
        //     steps{
        //         script {
        //             docker.image('mysql').withRun('-e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=mentorarc -e MYSQL_USER=mentorarc -e MYSQL_PASSWORD=mentorarc') { c ->
        //                 docker.image('mysql').inside("--link ${c.id}:db") {
        //                     /* Wait until mysql service is up */
        //                     sh 'while ! mysqladmin ping -hdb --silent; do sleep 1; done'
        //                 }

                        docker.image('maven:3-alpine').inside("--link ${c.id}:db") {
                            checkout scm
                            sh 'mv src/main/resources/application.properties.production src/main/resources/application.properties'
                            sh 'mvn test'
                        }
                    }
                }
            }
        //                 docker.image('maven:3-alpine').inside("--link ${c.id}:db") {
        //                     checkout scm
        //                     sh 'mv src/main/resources/application.properties.production src/main/resources/application.properties'
        //                     sh 'mvn test'
        //                 }
        //             }
        //         }
        //     }
            
            post {
                always {
                    junit 'target/surefire-reports/*.xml'
                }
            }
        }
        stage('Quality'){
            steps{
                script{
                    withCredentials([usernamePassword(credentialsId: 'SonarCloud_Zegorax_Token', passwordVariable: 'SONARCLOUD_API_TOKEN', usernameVariable: 'SONARCLOUD_API_USER')]) {
                        docker.image('mysql').withRun('-e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=mentorarc -e MYSQL_USER=mentorarc -e MYSQL_PASSWORD=mentorarc') { c ->
                            docker.image('mysql').inside("--link ${c.id}:db") {
                                /* Wait until mysql service is up */
                                sh 'while ! mysqladmin ping -hdb --silent; do sleep 1; done'
                            }
                            docker.image('maven:3-alpine').inside("--link ${c.id}:db") {
                                    checkout scm
                                    sh 'mv src/main/resources/application.properties.production src/main/resources/application.properties'
                                    sh 'mvn verify sonar:sonar'
                            }
                        }
                    }
                }
            }
        }
        //     post {
        //         always {
        //             junit 'target/surefire-reports/*.xml'
        //         }
        //     }
        // }
        // stage('Quality'){
        //     steps{
        //         script{
        //             withCredentials([usernamePassword(credentialsId: 'SonarCloud_Zegorax_Token', passwordVariable: 'SONARCLOUD_API_TOKEN', usernameVariable: 'SONARCLOUD_API_USER')]) {
        //                 docker.image('mysql').withRun('-e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=mentorarc -e MYSQL_USER=mentorarc -e MYSQL_PASSWORD=mentorarc') { c ->
        //                     docker.image('mysql').inside("--link ${c.id}:db") {
        //                         /* Wait until mysql service is up */
        //                         sh 'while ! mysqladmin ping -hdb --silent; do sleep 1; done'
        //                     }
        //                     docker.image('maven:3-alpine').inside("--link ${c.id}:db") {
        //                             checkout scm
        //                             sh 'mv src/main/resources/application.properties.production src/main/resources/application.properties'
        //                             sh 'mvn verify sonar:sonar'
        //                     }
        //                 }
        //             }
        //         }
        //     }
        // }
		stage('IntegrationTests') {
            steps{
                script {
@@ -77,13 +77,11 @@ pipeline {
							sh 'mv src/main/resources/application.properties.production src/main/resources/application.properties'
							sh 'nohup mvn exec:java &'

							docker.image('lucienmoor/katalon-for-jenkins:latest').inside("--link ${d.id}:mentorarc") {
							docker.image('lucienmoor/katalon-for-jenkins:latest').withRun("--link ${d.id}:mentorarc") {
								sh 'sleep 20'
								sh 'curl mentorarc:8081'
							}
						}

                        
                    }
                }
            }