我正在使用 Azure DevOps(管道 -> 管道)来创建我的 CD 管道以发布到生产环境。我了解使用 Pipelines 版本(Pipelines -> Releases)我可以选择并重新部署以前的版本。我想知道是否可以在我的 Azure 管道中使用kubectl
任务rollout undo
命令来执行此操作,以及我该如何去做。如果您以前遇到过这种情况,如果您能分享您的知识,我将不胜感激。
以下是我kubectl
在 Azure 管道中的任务代码:
- task: Kubernetes@1
inputs:
connectionType: 'Azure Resource Manager'
azureSubscriptionEndpoint: 'Azure subscription 1(xxxxxxx-xxx-xxxxx-xxxxxxx)'
azureResourceGroup: 'rg'
kubernetesCluster: 'kc'
command: 'apply'
useConfigurationFile: true
configuration: '$(Pipeline.Workspace)/manifests/'
secretType: 'dockerRegistry'
containerRegistryType: 'Azure Container Registry'
- task: Kubernetes@1
name: rollout_status
inputs:
connectionType: 'Azure Resource Manager'
azureSubscriptionEndpoint: 'Azure subscription 1(xxxxxxx-xxx-xxxxx-xxxxxxx)'
azureResourceGroup: 'rg'
kubernetesCluster: 'kc'
command: 'rollout'
arguments: 'status deployment/deployment-name'
secretType: 'dockerRegistry'
containerRegistryType: 'Azure Container Registry'
- task: Kubernetes@1
name: rollout_undo
condition: failed()
inputs:
connectionType: 'Azure Resource Manager'
azureSubscriptionEndpoint: 'Azure subscription 1(xxxxxxx-xxx-xxxxx-xxxxxxx)'
azureResourceGroup: 'rg'
kubernetesCluster: 'kc'
command: 'rollout'
arguments: 'undo deployment/deployment-name'
secretType: 'dockerRegistry'
containerRegistryType: 'Azure Container Registry'