这个 Github Action 如何修改 deployment.yml 文件

Posted

技术标签:

【中文标题】这个 Github Action 如何修改 deployment.yml 文件【英文标题】:How does this Github Action modify deployment.yml file 【发布时间】:2021-11-05 11:59:51 【问题描述】:

我正在使用 Azure/k8s-deploy Github Action。 问题是如何在部署清单文件中指定图像,以便操作将部署修改为新的图像 URL?

当前操作不会替换图片网址。

它尝试应用文件而不修改不起作用的图像。

- uses: azure/k8s-deploy@v1
  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 

我希望此操作部署 k8s/deployment.yml 文件,并在图像字段中提供图像 url

【问题讨论】:

【参考方案1】:

可以将Kustomization 步骤添加到您的git-action' **but** you will need to create an extra file named kustomization.yaml` 以便使用它。


Kustomization 将允许您修改所需的图像

关于如何使用 Kustomization 更新图像的示例代码: https://github.com/nirgeier/KubernetesLabs/tree/master/Labs/08-Kustomization#images


kustomize-github-action

https://github.com/marketplace/actions/kustomize-github-action

【讨论】:

我使用了 kustomize 但是还有另一个问题。 Azure 容器注册表需要 imagePullSecrets 来拉取映像。 Azure/k8s-deploy 操作会自动处理这些拉取机密。使用 kustomize 我不再需要此操作,但之后 k8s 无法提取图像,因为 401 未经授权的代码是由于 imagePullSecret 而我也没有找到任何文档。

以上是关于这个 Github Action 如何修改 deployment.yml 文件的主要内容,如果未能解决你的问题,请参考以下文章

运行时使用dep找不到头文件

Github Action 部署到阿里云ECS

Go语言入门——dep入门

GitHub Action appleboy/ssh-action:如何避免 SSH 密钥出现在服务器上?

Windows上公共git repo的权限被拒绝[重复]

修改 make distclean 以便删除 .deps 或 *~ 备份文件