我在 Openshift 4 中從部署配置切換到部署。在我的 Jenkins 管道中,我有一個步驟來推出如下所示的 DeploymentConfig:
openshift.withCluster() {
openshift.withProject("project") {
def rm = openshift.selector("dc", app).rollout()
timeout(5) {
openshift.selector("dc", app).related('pods').untilEach(1) {
return (it.object().status.phase == "Running")
}
}
}
}
在 openshift-jenkins-plugin 中似乎沒有推出部署的選項。據我所知,Deployment 也是一個原生的 kubernetes 物件,與 Openshift Object DeploymentConfig 相對。
在 Jenkins 的 Openshift 4 中推出部署的簡單方法是什么?
uj5u.com熱心網友回復:
您可以將 Kubectl 與 Jenkins 一起使用
kubectl rollout undo deployment/abc
你可以使用kubectl
node {
stage('Apply Kubernetes files') {
withKubeConfig([credentialsId: 'user1', serverUrl: 'https://api.k8s.my-company.com']) {
sh 'kubectl apply -f my-kubernetes-directory'
}
}
}
您可以根據需要使用命令列部署部署,如果您也可以創建或傳遞變數。
https://jamesdefabia.github.io/docs/user-guide/kubectl/kubectl_rollout/
uj5u.com熱心網友回復:
部署本身沒有像 DeploymentConfig 那樣的推出或重新部署選項。
但是,如果您在部署 yaml 中進行更改,則會使用新配置完成重新部署。使用該想法,您可以在部署的配置中進行更改,但實際上不會更改您的專案,并在需要時觸發它一張白紙。
oc patch deployment/{Your Deployment name here} -p "{\"spec\":{\"template\":{\"metadata\":{\"annotations\":{\"last-restart\":\"`date '%s'`\"}}}}}"
該命令創建一個名為“last-restart”的注釋,并設定您運行它的當前時間戳的值。如果您再次運行它,它將用更新的值替換時間戳。這兩個操作都是足以觸發重新部署的更改,但不是專案的功能更改。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/352764.html
標籤:詹金斯 Kubernetes 开班
下一篇:種子作業無法決議構建用戶變數插件
