在之前的系列博客中,我们介绍了 如何将 Docker 与 Jenkins 结合使用 以实现真正的持续交付并改进 Jenkins 中的现有管道。虽然此初始集成支持单个 Docker 容器的部署,但 CloudBees 团队和 Jenkins 社区最近在 Jenkins Workflow 上的工作也将允许管理员使用 Kubernetes 和谷歌云平台启动和配置集群 Docker 容器。
什么是工作流?
Jenkins Workflow 是一个新插件,它允许 Jenkins 将持续交付视为 Jenkins 中的一流工作类型。 Workflow 允许用户在一个地方定义工作流程,避免跨多个构建作业协调流程的需要。这在复杂的企业环境中尤其重要,在这种环境中,必须跨团队协调工作、发布和依赖关系。工作流被定义为工作流作业中的 Groovy 脚本,或者从外部存储库(如 Git)签入工作区。
简而言之,CloudBees Docker Workflow 插件添加了一个名为 Docker 的特殊入口点,可以在任何 Workflow Groovy 脚本中使用。它提供了许多用于创建和使用 Docker 映像和容器的功能,这些功能又可用于打包和部署应用程序或作为 Jenkins 的构建环境。
从广义上讲,有两个功能领域:使用您自己的或由全球社区创建的 Docker 映像来简化构建自动化;并创建和测试新图像。一些项目将需要这两个方面,您可以跟随一个同时使用这两个方面的完整项目:请参阅 演示指南 。
Jenkins Workflow Deployments with Kubernetes 在之前的博客中提到,Google Cloud Platform 也支持将 Docker 镜像推送到 Google Container Registry ,并通过 Kubernetes 部署到 Google Container Engine。
Jenkins Workflow 现在还支持使用 Google Cloud Platform 的 Container Registry 作为 Docker 镜像注册表。此外,它还公开了一些新的 Kubernetes 和 Google Cloud Platform 特定步骤,以补充 Workflow 现有的 Docker 功能。这些步骤允许 Jenkins 安全地连接到给定的 Kubernetes 集群,并远程指示 Kubernetes 集群管理器启动给定的 Docker 映像作为 Kubernetes Pod 中的容器,更改目标集群或上下文等现有设置,并设置目标集群中的副本数。
我从哪说起呢?
- Workflow 插件 是一个开源插件,因此可以从开源更新中心下载或打包为 CloudBees Jenkins 平台的一部分。
- CloudBees Docker Workflow 插件 是 OSS 更新中心或作为 CloudBees Jenkins 平台的一部分提供的另一个开源插件。
- Google Cloud Registry Auth插件 是Google开发的开源插件,可以从开源更新中心下载,也可以打包成CloudBees Jenkins Platform的一部分。
- Kubernetes 插件是另一个开源插件,可从开源更新中心获得或作为 CloudBees Jenkins 平台的一部分打包。
- Google Container Engine 提供 免费试用 。
- Google Container Registry 是一项免费服务。
-
其他插件补充和增强了 Docker 与 Jenkins 一起使用的方式。在这些博客中详细了解他们的用例:
- Docker 构建和发布插件
- Docker Slaves 与 CloudBees Jenkins 平台
- Jenkins Docker 工作流 DSL
- Docker 可追溯性
- Docker Hub 触发器插件
- Docker 自定义构建环境插件