我有两个项目:
项目A -包含微服务应用程序的源代码
项目B -包含使用Helm的项目A的Kubernetes资源
这两个项目都位于各自独立的git仓库中。
项目A使用完整的CI管道构建,该管道构建带有标记版本的Docker镜像并将其推送到Docker hub,然后通过CI服务器的git push将Docker镜像的版本号写入项目B。它通过提交一个简单的txt文件来完成,该文件带有它刚刚构建的Docker版本。
到目前为止一切顺利!我现在有了项目B,它包含了微服务项目A的Docker版本,我现在想把这个值传递/注入到Values.yaml中,这样当我通过Helm打包项目B时,我就有了最新的版本。
任何想法我如何才能实现这一点?
1条答案
按热度按时间oprakyz71#
通过CI服务器的git push。它通过提交一个简单的txt文件来完成,该文件包含它刚刚构建的Docker版本。
我通常在这里做的是,我直接将值写入yaml中的正确字段。要在命令行上使用yaml,我推荐使用yq工具。
我通常使用完整的Kubernetes
Deployment
manifest yaml,我通常使用这个yq
命令更新image字段:字符串
然后将YAML文件提交给具有YAML清单的存储库。
现在,你使用Helm,但它仍然是Yaml,所以你应该能够以类似的方式解决这个问题。也许是这样的:
型