👷 Add Jenkinsfile
This commit is contained in:
parent
d4b014fbcd
commit
3c03f77ddf
52
Jenkinsfile
vendored
Normal file
52
Jenkinsfile
vendored
Normal file
@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user