build-flow.portal/Jenkinsfile

32 lines
921 B
Groovy

pipeline {
agent any
environment {
IMG = "127.0.0.1/middleware/buildflow-portal"
}
stages {
stage("Build image") {
steps {
sh "docker build -t ${IMG}:latest -t ${IMG}:${BUILD_NUMBER} ."
}
}
stage("Push to Harbor") {
steps {
withCredentials([usernamePassword(credentialsId: "harbor-admin", usernameVariable: "HU", passwordVariable: "HP")]) {
sh 'echo "$HP" | docker login 127.0.0.1 -u "$HU" --password-stdin'
sh "docker push ${IMG}:latest && docker push ${IMG}:${BUILD_NUMBER}"
}
}
}
stage("Deploy") {
steps {
sh "docker compose -f /home/xiangning/deploy/buildflow/docker-compose.yml pull buildflow-portal"
sh "docker compose -f /home/xiangning/deploy/buildflow/docker-compose.yml up -d --no-deps buildflow-portal"
}
}
}
post {
always { sh "docker image prune -f || true" }
}
}