是否有任何CLI工具或库允许更新K8S YAML / JSON配置文件中的容器图像(和其他参数)?
例如,我有这个YAML:
apiVersion: apps/v1
kind: Deployment
<...>
spec:
template:
spec:
containers:
- name: dmp-reports
image: example.com/my-image:v1
<...>
我想在此文件中自动更新此部署的映像(基本上,这对于CI / CD系统是必需的。)
答案 0 :(得分:2)
我们在Jenkins X项目中遇到了同样的问题,我们有很多git存储库,当我们更改库或基础docker图像之类的东西时,我们需要更改Calendar now = Calendar.getInstance();
now.set(Calendar.HOUR, 0);
now.set(Calendar.MINUTE, 0);
now.set(Calendar.SECOND, 0);
now.set(Calendar.HOUR_OF_DAY, 0);
String date=new SimpleDateFormat("dd/MM/yyyy HH:mm:ss.mss").format(now.getTime());
等许多版本。
我们使用一个名为UpdateBot的简单CLI工具,可以自动在所有下游存储库上生成Pull请求。我们倾向于将此视为库和基本图像的持续交付;)。例如这里是current Pull Requests that UpdateBot has generated on the Jenkins X organisation repositories
然后我们在发布新的基本映像时,如何更新Dockerfiles / helm图表: https://github.com/jenkins-x/builder-base/blob/master/jx/scripts/release.sh#L28-L29
答案 1 :(得分:0)