diff --git a/worker/Dockerfile b/worker/Dockerfile new file mode 100644 index 0000000000..1264902a0f --- /dev/null +++ b/worker/Dockerfile @@ -0,0 +1,11 @@ +FROM maven:3.6.1-jdk-8-alpine + +WORKDIR /app + +COPY . . + +RUN mvn package -DskipTests && \ + mv target/worker-jar-with-dependencies.jar /run/worker.jar && \ + rm -rf * + +CMD java -jar /run/worker.jar diff --git a/worker/Jenkinsfile b/worker/Jenkinsfile index 8c479ee89a..0dfac724fd 100644 --- a/worker/Jenkinsfile +++ b/worker/Jenkinsfile @@ -1,13 +1,15 @@ pipeline { - agent { - docker { - image 'maven:3.6.1-jdk-8-alpine' - args '-v $HOME/.m2:/root/.m2' - } - } + + agent none stages { stage('build') { + agent{ + docker { + image 'maven:3.6.1-jdk-8-alpine' + args '-v $HOME/.m2:/root/.m2' + } + } when { changeset '**/worker/**' } @@ -18,7 +20,13 @@ pipeline { } } stage('test') { - when { + agent{ + docker { + image 'maven:3.6.1-jdk-8-alpine' + args '-v $HOME/.m2:/root/.m2' + } + } + when { changeset '**/worker/**' } steps { @@ -28,7 +36,13 @@ pipeline { } } stage('package') { - when { + agent{ + docker { + image 'maven:3.6.1-jdk-8-alpine' + args '-v $HOME/.m2:/root/.m2' + } + } + when { branch 'master' changeset '**/worker/**' } @@ -39,11 +53,32 @@ pipeline { } } } + + stage('docker-package') { + agent any + when { + changeset '**/worker/**' + branch 'master' + } + steps { + echo 'worker app with docker' + script { + docker.withRegistry('https://index.docker.io/v1/', 'dockerlogin'){ + def workerImage = docker.build("robrockdataio/worker:v${env.BUILD_ID}","./worker") + workerImage.push() + workerImage.push("${env.BRANCH_NAME}") + } + } + } + } + + } post { always { - echo 'This pipeline is completed now :-) :-) :-)' + echo 'This pipeline is completed now dockerized >-)' + } } }