frontend/Jenkinsfile
2026-02-05 19:55:09 +01:00

54 lines
1.7 KiB
Groovy

pipeline {
agent any
stages {
stage('Tag git commit') {
steps {
script {
sshagent(['jenkins']) {
sh """
git config user.email "jenkins"
git config user.name "jenkins@dinauer-paf.de"
git tag -a build-${env.BUILD_NUMBER} -m "Jenkins Build ${env.BUILD_NUMBER}"
git push origin build-${env.BUILD_NUMBER}
"""
}
}
}
}
stage('Set Image Name') {
steps {
script {
env.IMAGE = "harbor.dinauer.dev/kubooboo/frontend:${env.BUILD_NUMBER}";
}
}
}
stage('Build Image') {
steps {
script {
sh "docker build --no-cache -t ${env.IMAGE} ."
}
}
}
stage('Push Image to Docker Hub') {
steps {
script {
withCredentials([usernamePassword(credentialsId: 'harbor', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
sh 'echo ${PASSWORD} | docker login harbor.dinauer.dev -u ${USERNAME} --password-stdin'
sh "docker push ${env.IMAGE}"
sh "docker logout harbor.dinauer.dev"
}
}
}
}
stage('Remove image from host') {
steps {
script {
sh "docker image rm --force ${env.IMAGE}"
}
}
}
}
}