使用 Github Actions、Helm 和 Argo CD 构建 CI/CD 管道
Build CI/CD Pipeline with Github Actions, Helm and Argo CD
我有一个 Git 存储库,其中包含我的应用程序代码和 Helm 清单。在提交到我的应用程序代码所在的目录时,我触发了一个 docker 构建并将新图像推送到我的私有存储库。
另一方面,Argo 正在观察 Helm Manifests 的变化,并部署到我的 Kubernetes 集群,但是前提是我更改了 Helm 值文件中图像的标签。
知道如何避免此手动步骤以拥有全自动管道吗?
编写一个脚本,它将克隆 helm 存储库并使用 yq
更改图像标签。
喜欢下面
git clone giturl
yq w -i chart_name/values.yaml image.tag $image_tag.
git config user.email "test@test.com"
git config user.name "test"
git add .
git commit -m "changed"
git push
现在将图像标签作为变量 $image_tag 和 运行 推送 docker 图像后的上述脚本。
请在此处检查 yq。
当然,运行ing 这个脚本将取决于你如何创建 docker images.If 你使用 docker autobuild 然后考虑 post_build hook.If 它在 github 个动作中,然后添加另一个阶段。
我有一个 Git 存储库,其中包含我的应用程序代码和 Helm 清单。在提交到我的应用程序代码所在的目录时,我触发了一个 docker 构建并将新图像推送到我的私有存储库。
另一方面,Argo 正在观察 Helm Manifests 的变化,并部署到我的 Kubernetes 集群,但是前提是我更改了 Helm 值文件中图像的标签。
知道如何避免此手动步骤以拥有全自动管道吗?
编写一个脚本,它将克隆 helm 存储库并使用 yq
更改图像标签。
喜欢下面
git clone giturl
yq w -i chart_name/values.yaml image.tag $image_tag.
git config user.email "test@test.com"
git config user.name "test"
git add .
git commit -m "changed"
git push
现在将图像标签作为变量 $image_tag 和 运行 推送 docker 图像后的上述脚本。 请在此处检查 yq。 当然,运行ing 这个脚本将取决于你如何创建 docker images.If 你使用 docker autobuild 然后考虑 post_build hook.If 它在 github 个动作中,然后添加另一个阶段。