From 8f7b83d60aab9f63ef631c2f88011fe3f19d7a68 Mon Sep 17 00:00:00 2001 From: Dominik Chilla Date: Fri, 14 Jun 2019 22:02:43 +0200 Subject: [PATCH] Jenkins scripted multibranch pipeline --- Jenkinsfile | 65 ++++++++++++++++++++++++++++++++++------------------- 1 file changed, 42 insertions(+), 23 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 8d96e06..d424e37 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,29 +1,48 @@ -node { - def app +pipeline { + agent any -/* stage('Clone repository') { - sh '/usr/bin/env' - checkout scm - }*/ - - stage('Build image') { - sh '/usr/bin/env' - /* Multi-Branch Pipeline works with env.BRANCH_NAME*/ - app = docker.build("sos-milter:${env.BRANCH_NAME}","--pull --label BUILD_URL=${env.BUILD_URL} .") + environment { + dockerImage = '' } - stage('Test image') { - app.inside { - sh '/usr/bin/env' - sh '/bin/ps auxwwf' + parameters { + string name: 'dockerRegistry', trim: true + } + + stages { + stage('Build image') { + steps { + sh '/usr/bin/env' + script { + /* Multi-Branch Pipeline works with env.BRANCH_NAME*/ + dockerImage = docker.build("sos-milter:${env.BRANCH_NAME}","--pull --label BUILD_URL=${env.BUILD_URL} .") + } + } + } + stage('Test image') { + steps { + script { + dockerImage.inside { + sh '/usr/bin/env' + sh '/bin/ps auxwwf' + } + } + } + } + stage('Push image') { + steps { + script { + docker.withRegistry(env.dockerRegistry) { + dockerImage.push() + } + } + } + } + stage('Cleanup') { + steps { + sh 'echo "TODO: cleanup!"' + } } } - - stage('Push image') { - app.push() - } - - stage('Cleanup') { - sh 'echo "TODO: cleanup!"' - } } +