You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Azure/k8s-deploy Action自动修改deployment.yml的镜像URL

解决方案

核心原因

azure/k8s-deploy Action的镜像自动替换依赖镜像名称前缀匹配规则,只有部署清单里的镜像名称和你传入images参数的镜像名称部分完全匹配时才会触发替换。同时你当前使用的v1是早期版本,存在镜像替换逻辑失效的已知问题。

操作步骤

  • 调整deployment.yml配置
    确保k8s/deployment.yml中对应容器的image字段,镜像名称部分和你传入的镜像名称保持一致。
    举个例子,如果你传入的镜像为${{ env.REGISTRY_NAME }}.azurecr.io/${{ env.APP_NAME }}:${{ github.sha }},其中${{ env.APP_NAME }}为demo-app,那么deployment中image字段可以写为以下任意形式:

demo-app:latest
custom-registry.com/demo-app:v1.0.0
只要镜像名称部分为demo-app即可完成匹配替换。
如果你的deployment中存在多个容器,要么保证每个容器的镜像名称唯一,要么images参数传入的镜像顺序和deployment中containers数组的顺序一一对应。

  • 升级Action版本
    将你当前使用的v1版本升级为v4(当前最新稳定版),修改后的配置如下:
- uses: azure/k8s-deploy@v4
  with:
    manifests: |
      k8s/deployment.yml
      k8s/service.yml
    images: |
      ${{ env.REGISTRY_NAME }}.azurecr.io/${{ env.APP_NAME }}:${{ github.sha }}
    imagepullsecrets: |
      ${{ env.SECRET }}
    namespace: ${{ env.NAMESPACE }}

结果验证

部署完成后执行命令kubectl get deployment <你的deployment名称> -n ${{ env.NAMESPACE }} -o jsonpath='{.spec.template.spec.containers[*].image}',即可确认镜像是否已经更新为预期版本。

内容的提问来源于stack exchange,提问作者Mabroor Ahmad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 00:54:03