From 3c03f77ddfa982ff10e3cdfb83dc2a33a78bb689 Mon Sep 17 00:00:00 2001 From: "andreas.dinauer" Date: Sun, 16 Nov 2025 13:19:53 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=B7=20Add=20Jenkinsfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..82920cc --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,52 @@ +pipeline { + agent any + + environment { + HARBOR_HOST = "harbor.dinauer.dev" + PROJECT = "kubooboo" + REPO = "node-monitor" + } + + stages { + stage('Set Image Name') { + steps { + script { + env.IMAGE = "${env.HARBOR_HOST}/${env.PROJECT}/${env.REPO}:${env.BUILD_NUMBER}" + env.LATEST = "${env.HARBOR_HOST}/${env.PROJECT}/${env.REPO}:latest" + } + } + } + stage('Build Docker Image') { + steps { + script { + sh "docker build --no-cache -t ${env.IMAGE} ." + sh "docker tag ${env.IMAGE} ${env.LATEST}" + } + } + } + stage('Push Image to Docker Hub') { + steps { + script { + withCredentials([usernamePassword(credentialsId: 'harbor', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) { + sh "echo ${PASSWORD} | docker login ${env.HARBOR_HOST} -u ${USERNAME} --password-stdin" + sh "docker push ${env.IMAGE} && docker push ${env.LATEST}" + sh "docker logout" + } + } + } + } + stage('Remove image from host') { + steps { + script { + sh "docker image rm --force ${env.IMAGE} && docker image rm --force ${env.LATEST}" + } + } + } + } + + post { + always { + cleanWs() + } + } +} \ No newline at end of file