diff --git a/README.md b/README.md index cb8070089..e1cf7fb24 100644 --- a/README.md +++ b/README.md @@ -66,3 +66,4 @@ subject=Unittest ### 2022-12-05 ### 17:50 ### 2022-12-07 ### 15:44 ### 2022-12-07 ### 18:21 +### 2022-12-10 ### 18:33 diff --git a/result/Jenkinsfile b/result/Jenkinsfile index 6c7b33e2b..20eddf0df 100644 --- a/result/Jenkinsfile +++ b/result/Jenkinsfile @@ -11,7 +11,7 @@ pipeline { } steps{ echo 'Compiling result app' - dir('result'){ + dir('worker'){ sh 'npm install' } } diff --git a/result/test/mock.test.js b/result/test/mock.test.js index f99dfdae9..507e9654a 100644 --- a/result/test/mock.test.js +++ b/result/test/mock.test.js @@ -27,3 +27,8 @@ describe('mock test 4', () => { }); +describe('mock test 5', () => { + it('unit test 5', () => { + expect(true).to.be.true; + }); +}); diff --git a/worker/Dockerfile b/worker/Dockerfile new file mode 100644 index 000000000..d5039fd7a --- /dev/null +++ b/worker/Dockerfile @@ -0,0 +1,6 @@ +FROM maven:3.6.1-jdk-8-slim +WORKDIR /app +COPY . . +RUN mvn package && \ +mv target/worker-jar-with-dependencies.jar /run/worker.jar && rm -rf /app/* +CMD java -jar /run/worker.jar diff --git a/worker/Jenkinsfile b/worker/Jenkinsfile index 0091427d6..3b6d518eb 100644 --- a/worker/Jenkinsfile +++ b/worker/Jenkinsfile @@ -1,50 +1,85 @@ pipeline { - agent any - - tools{ - maven 'maven 3.6.1' - } - stages{ - stage("build"){ - when{ - changeset "**/worker/**" - } - steps{ - echo 'Compiling worker app' - dir('worker'){ - sh 'mvn compile' - } - } - } - stage("test"){ - when{ - changeset "**/worker/**" - } - steps{ - echo 'Running Unit Tets on worker app' - dir('worker'){ - sh 'mvn clean test' - } - } - } - stage("package"){ - when{ - branch 'master' - changeset "**/worker/**" - } - steps{ - echo 'Packaging worker app' - dir('worker'){ - sh 'mvn package -DskipTests' - } - } - } - } - post{ - always{ - archiveArtifacts artifacts: '**/target/*.jar', - fingerprint: true - echo 'Building multibranch pipeline for worker is completed..' - } - } + + agent none + + stages{ + stage("build"){ + when{ + changeset "**/worker/**" + } + + agent{ + docker{ + image 'maven:3.6.1-jdk-8-slim' + args '-v $HOME/.m2:/root/.m2' + } + } + + steps{ + echo 'Compiling worker app..' + dir('worker'){ + sh 'mvn compile' + } + } + } + stage("test"){ + when{ + changeset "**/worker/**" + } + agent{ + docker{ + image 'maven:3.6.1-jdk-8-slim' + args '-v $HOME/.m2:/root/.m2' + } + } + steps{ + echo 'Running Unit Tets on worker app..' + dir('worker'){ + sh 'mvn clean test' + } + + } + } + stage("package"){ + when{ + branch 'feature/dockerfiles' + changeset "**/worker/**" + } + agent{ + docker{ + image 'maven:3.6.1-jdk-8-slim' + args '-v $HOME/.m2:/root/.m2' + } + } + steps{ + echo 'Packaging worker app' + dir('worker'){ + sh 'mvn package -DskipTests' + archiveArtifacts artifacts: '**/target/*.jar', fingerprint: true + } + + } + } + + stage('docker-package'){ + agent any + steps{ + echo 'Packaging worker app with docker' + script{ + docker.withRegistry('https://index.docker.io/v1/', 'dockerlogin') { + def workerImage = docker.build("aminsh86/worker:v${env.BUILD_ID}", "./worker") + workerImage.push() + workerImage.push("${env.BRANCH_NAME}") + workerImage.push("latest") + } + } + } + } + } + + post{ + always{ + echo 'Building multibranch pipeline for worker is completed..2022-12-10-18:59' + } + } } diff --git a/worker/Jenkinsfile-version1 b/worker/Jenkinsfile-version1 new file mode 100644 index 000000000..0091427d6 --- /dev/null +++ b/worker/Jenkinsfile-version1 @@ -0,0 +1,50 @@ +pipeline { + agent any + + tools{ + maven 'maven 3.6.1' + } + stages{ + stage("build"){ + when{ + changeset "**/worker/**" + } + steps{ + echo 'Compiling worker app' + dir('worker'){ + sh 'mvn compile' + } + } + } + stage("test"){ + when{ + changeset "**/worker/**" + } + steps{ + echo 'Running Unit Tets on worker app' + dir('worker'){ + sh 'mvn clean test' + } + } + } + stage("package"){ + when{ + branch 'master' + changeset "**/worker/**" + } + steps{ + echo 'Packaging worker app' + dir('worker'){ + sh 'mvn package -DskipTests' + } + } + } + } + post{ + always{ + archiveArtifacts artifacts: '**/target/*.jar', + fingerprint: true + echo 'Building multibranch pipeline for worker is completed..' + } + } +} diff --git a/worker/amin b/worker/amin new file mode 100644 index 000000000..e69de29bb