我的openshift jenkins管道在推出时最后一步失败了。 Openshift中的手动构建工作正常。它正在创建豆荚并终止其他豆荚。像使用管道时那样的接缝,它无法终止先前运行的吊舱。
当我手动终止正在运行的吊舱,然后启动管道时,它运行正常。
但是类似的管道在我们的测试环境中仍然可以正常工作。
... previous stages
stage('PROD: Deploying image') {
when {
expression {
openshift.withCluster() {
openshift.withProject(PROD_PROJECTSPACE) {
return !openshift.selector('dc', "${APPLICATION_NAME}").exists()
}
}
}
}
steps {
script {
openshift.withCluster() {
openshift.withProject(PROD_PROJECTSPACE) {
openshift.newApp("${APPLICATION_NAME}:latest --allow-missing-imagestream-tags").narrow('svc').expose("--port=3013");
def dc = openshift.selector("dc", "${APPLICATION_NAME}");
while (dc.object().spec.replicas != dc.object().status.availableReplicas) {
sleep 10
}
openshift.set("triggers", "dc/${APPLICATION_NAME}", "--manual")
}
}
}
}
}
Failing in this stage
stage('PROD: Rollout') {
steps {
script {
openshift.withCluster() {
openshift.withProject(PROD_PROJECTSPACE) {
openshift.selector("dc", "${APPLICATION_NAME}").rollout().latest();
}
}
}
}
这是错误
ERROR: rollout:latest returned an error;
{reference={}, err=error: #15 is already in progress (Running)., verb=rollout, cmd=oc --server=https://172.30.0.1:443 --certificate-authority=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt --namespace=global-prod --token=XXXXX rollout latest deploymentconfig/global-events , out=, status=1}
Finished: FAILURE
您能给我指点什么吗,任何帮助都会有所帮助
答案 0 :(得分:0)
就像在您的评论中一样。这可以起作用,删除所有触发器:
oc set triggers dc/${APPLICATION_NAME} --remove-all