kubernetes CI / CD:在CI / CD基础架构上自动化docker构建,标记和推送任务

时间:2018-08-10 07:10:23

标签: jenkins kubernetes openshift

我们正在设置CI / CD基础结构,以便将应用程序部署在openshift / kubernetes上。

我们正在使用jenkinsfabric8helm部署应用程序。

尽管如此,我们仍在创建其他种类的工件:initsidecar图像。因此,我们的应用程序需要在主容器启动之前,这些图像在kubernetes / openshift注册表中可用。

当前,我们分别在openshift / kubernetes注册表中手动buildingtaggingpushing

$ docker build .
$ docker tag image <registry>/image
$ docker push <registry>/image

我们想使这一过程自动化,我的意思是,我们真的希望避免执行这三个步骤,并且希望避免在jenkins从属服务器上配置docker客户端以进行推送。

我不知道我的解释是否很好。

1 个答案:

答案 0 :(得分:0)

好吧,您将需要在docker上安装一台单独的计算机,该计算机仅用于构建和推送docker映像,并使用由jenkins触发的软件来执行该任务。但是我不知道有什么软件可以做到这一点。

我们的解决方案是将docker安装在jenkins节点上。构建本身被编写为管道,并以Jenkinsfile的形式提交到我们的scm中,步骤如下:

  • 构建/测试应用
  • 构建docker映像
  • 推送docker映像
  • 删除詹金斯节点上的图像
  • 部署

如果您不想在jenkins上使用docker而使用Java,则类似jib的方法可以解决问题。但是我不确定其他语言是否也存在这种情况。

更新

感谢格雷厄姆斯的建议,您也可以结帐: