生产环境需要指定镜像版本号进行发布,所以需要配置 project parameterized
前后端pipeline脚本基本相同,设置不同集群对应镜像即可
#!groovy
pipeline {
// environment {
//IMAGE_TAG = sh (returnStdout: true, script: 'echo "build-${BRANCH_NAME//\\//_}-$BUILD_NUMBER"').trim()
// }
agent {
node{
label 'jenkins-slave'
}
}
stages{
stage('设置镜像版本'){
steps{
echo "镜像版本 = 10.12.20.20/railway/railway-site:$IMAGE_TAG"
}
}
stage('发布'){
steps{
container('kubectl') {
script {
echo "部署项目"
withKubeConfig(clusterName: 'demo', contextName: 'railway', credentialsId: 'railwaycide', namespace: 'railway', serverUrl: 'https://10.12.20.67:9443/k8s/clusters/c-p2qj7') {
sh 'kubectl set image deployment/railway-site railway-site=10.12.20.20/railway/railway-site:$IMAGE_TAG --namespace railway'
}
}
}
}
}
}
}