在jenkins中配置流水线:
node ('slave1') {
def mvnHome = "/usr/local/maven";
def image_tag = "$imageTag"
def gatewayservice="jeecg-cloud-gateway-2.4.2.jar";
def systemservice="jeecg-cloud-system-start-2.4.2.jar";
def imgName;
def uatimgName = "docker镜像库地址:443/命名空间/";
def testimgName = "docker镜像库地址:443/命名空间/";
def prodImgName = "docker镜像库地址:443/命名空间/";
if("${profiles}" == "dev") {
imgName = testimgName
}else if("${profiles}" == "test"){
imgName = testimgName
}else if("${profiles}" == "product"){
imgName = prodImgName
}
stage('Preparation') {
git branch: '${gitBranch}', credentialsId: 'jenkins凭据标识', url: '代码的git地址'
}
stage('Build Source Code') {
withEnv(["MVN_HOME=$mvnHome"]) {
sh '"$MVN_HOME/bin/mvn" -Dmaven.test.skip=true clean package install -U'
}
}
stage('镜像构建及推送') {
sh "docker login -u harbor的用户名 -p harbor的密码 ${imgName}"
dir('jeecg-cloud-module/jeecg-cloud-system-start/'){
sh "docker build -f Dockerfile -t ${imgName}${systemservice}:${image_tag} ./"
sh "docker push ${imgName}${systemservice}:${image_tag}"
def id2=sh(returnStdout: true,script: "kubectl get pods -o name -l app=jeecg-cloud-system-start -n 命名空间").trim().split("/")[1]
sh "kubectl delete pod ${id2} -n 命名空间"
}
}
}