问题描述
阶段构建:
- 构建 docker 镜像
- 将图像推送到 ACR
- 包掌舵图
- 将舵图推送到 ACR
阶段部署:
- 头盔升级
将掌舵图推送到 AKS:
task: HelmDeploy@0
displayName: 'helm publish'
inputs:
azureSubscriptionForACR: '$(azureSubscription)'
azureResourceGroupForACR: '$(resourceGroup)'
azureContainerRegistry: '$(containerRegistry)'
command: 'save'
arguments: '--app-version $(Version)'
chartNameForACR: 'charts/$(imageRepository):$(Version)'
chartPathForACR: $(chartPath)
将舵图部署到 AKS:
task: HelmDeploy@0
inputs:
connectionType: 'Kubernetes Service Connection'
kubernetesServiceConnection: '$(kubernetesServiceConnection)'
command: 'upgrade'
chartType: 'Name'
chartName: '$(containerRegistry)/charts/$(imageRepository):$(Version)'
chartVersion: '$(Version)'
azureSubscriptionForACR: '$(azureSubscription)'
azureResourceGroupForACR: '$(resourceGroup)'
azureContainerRegistry: '$(containerRegistry)'
install: true
releaseName: $(Version)
错误:
Failed to download "<ACR>/charts/<repository>:0.9.26" at version "0.9.26" (hint: running `helm repo update` may help)
ACR:
az acr repository show-manifests --name <org> --repository helm/charts/<repository> --detail
{
"changeableAttributes": {
"deleteEnabled": true,"listEnabled": true,"readEnabled": true,"writeEnabled": true
},"configMediaType": "application/vnd.cncf.helm.config.v1+json","createdTime": "2021-02-02T11:54:54.1623765Z","digest": "sha256:fe7924415c4e76df370630bbb0248c9296f27186742e9272eeb87b2322095c83","imageSize": 3296,"lastUpdateTime": "2021-02-02T11:54:54.1623765Z","mediaType": "application/vnd.oci.image.manifest.v1+json","tags": [
"0.9.26"
]
}
我做错了什么?我是否必须先从 ACR export
helm chart 才能部署它?
解决方法
helm upgrade
的语法应该是这样的:
- task: HelmDeploy@0
displayName: 'helm upgrade'
inputs:
connectionType: 'Kubernetes Service Connection'
kubernetesServiceConnection: connection
command: upgrade
chartName: '$(name)'
chartVersion: '$(Version)'
releaseName: azuredevopsdemo
尝试将 chartName
值替换为 charts/$(imageRepository)
。