git - Bamboo + Docker + Kubernetes部署

标签 git docker continuous-integration bamboo kubernetes

我们目前正在使用kubernetes + docker。目前,我想知道如何在开发和发布期间将Bamboo集成到我们的部署过程中。

我们当前的CI流程如下:

  • dev checkin 代码更改到分支“develop”
  • 竹触发器创建过程:

    从git
  • checkout
  • 代码
  • 运行构建代码(java)
  • 运行单元+集成测试
  • 将 Artifact 部署到 Artifact
  • 使用 Artifact
  • 构建docker镜像
  • 使用 Artifact 版本
  • 标记docker镜像
  • 将镜像推送到docker hub

  • 这是当前的当前工作流程。现在,我想使用Bamboos部署功能将Docker镜像部署到我们的kubernetes集群。

    从技术 Angular 来看,这应该很容易:
  • SSH到主节点
  • 使用新镜像
  • 从复制 Controller 开始滚动更新

    我的问题是如何获取在部署任务中的构建过程中创建的docker镜像的名称。我已经认为我可以使用在构建过程中作为 Artifact 存储的变量来创建属性文件。
    我可以在部署过程中读出此属性文件...

    某种程度上,这感觉更像是一种解决方法。.另一个想法是直接在构建任务中进行部署,而根本不使用部署功能...

    还有其他选择吗?还有其他选择/更好的主意吗?
    想法/帮助会很好:)

    最佳答案

    我不熟悉Bamboo,但是Kubernetes 1.2将支持Deployment API,一旦将Deployment规范更新为新的图像标签,它将代表您执行滚动更新。

    另外,您可以尝试基于Kubernetes构建的Openshift 3。它支持由镜像推送触发的部署:
    https://github.com/openshift/origin/blob/master/docs/deployments.md#triggers

    关于git - Bamboo + Docker + Kubernetes部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32177098/

    相关文章:

    azure-devops - 使用 Azure DevOps 还原 EfCore 迁移

    ios - 为什么 ios/build 文件夹没有包含在 .gitignore 文件中?

    node.js - 为 node.js 模块创建依赖于 docker 的测试是否可以接受?

    docker - Docker:COPY是否支持可变目的地?

    azure - 当指定分支的拉取请求完成时触发下一个管道阶段

    java - 如何组织 Java Web 应用程序的暂存部署?

    git - 如何将 git 远程分支引用带到本地

    克隆存储库时 Git 冲突复制错误

    git - 如何与远程分支的父分支保持同步

    postgresql - 在postgres容器中创建多个数据库