持续集成和交付应用开发和部署
通过 IBM Cloud 和其他开放式源代码工具,您可以设置持续集成和交付 (CI/CD),版本控制,工具链等,以帮助自动化应用程序开发和部署。
持续集成 (CI) 可以帮助您及早发现错误,确保早期系统集成,并改善开发过程中的协作。 持续交付(CD)是一种构建和部署软件的方法,以便随时将其投入生产。 通过设置 CI/CD 管道来自动执行持续集成和交付流程,您可以在代码发行版中实现可重复性,并提高交付时间表的可预测性。
使用 IBM® Continuous Delivery Pipeline for IBM Cloud® 来采用 DevOps 方法,其中包含用于自动构建和部署容器化应用程序的开放式工具链。
准备工作
开始之前,请确保您在 IBM Cloud IAM 中至少具有以下许可权。
- Kubernetes Service 集群的 编辑者 平台访问角色和 写入者 服务访问角色。 有关更多信息,请参阅用户访问许可权。
- 对要在其中创建工具链的集群的资源组的 查看者 平台访问角色。
- Toolchain 服务的 编辑者 平台访问角色 (请注意,此服务与 Continuous Delivery 不同)。
使用 Delivery Pipeline 创建工具链
执行以下步骤以创建具有工具链的 CI/CD 管道。 工具链是一组工具集成,用于支持开发、部署和操作任务。 配置工具链时,可以包含并配置在创建工具链后自动创建并触发的 Delivery Pipeline。
- 从 控制台中,选择您要为其设置持续交付管道的集群。
- 选择 DevOps 选项卡。
- 单击创建工具链。
- 查看可用工具链。 IBM 提供了预定义的工具链,可用于部署、测试和监视 Kubernetes 本机应用程序或 Helm chart。 您可以展开每个工具链,以查找已设置的工具的概述,并在 GitHub 中查找用于在集群中配置工具链的脚本。 如果您知道要使用哪些工具,那么可以创建自己的工具链。
- 选择要使用的工具链,然后单击创建。
- 遵循控制台中的指示信息来配置工具链。 确保在工具链名称中包含集群的名称,以便日后可以轻松找到与集群关联的工具链。 有关更多信息,请参阅创建工具链。
- 选择 Delivery Pipeline,以查看持续集成和持续交付管道的阶段。 创建工具链后,管道会自动启动,并按照配置的阶段逐步运行。 确保各阶段成功运行并更正任何错误。
- 修改工具链。 可以向工具链添加更多工具,或更改交付管道的阶段。
- 从 控制台中,选择您要为其设置持续交付管道的集群。
- 选择 DevOps 选项卡。
- 选择要修改的工具链。
用于自动执行管道的其他资源
请查看可用于自动执行 CI/CD 管道的以下集成和工具。
- Codeship
- 您可以使用 Codeship 持续集成和交付容器。
- Grafeas
- Grafeas 是一项开源 CI/CD 服务,为软件供应链流程中的元数据检索、存储和交换提供了一种通用方法。 例如,如果将 Grafeas 集成到应用程序构建过程中,那么 Grafeas 可以存储有关构建请求发起者、漏洞扫描结果和质量保证签核的信息,以便您可以就应用程序能否部署到生产环境做出明智的决策。 这些元数据可以用于审计,也可以用于证明软件供应链合规性。
- IBM® Continuous Delivery Pipeline for IBM Cloud®
- 通过在源控制管理系统 (例如 Git) 中组织应用程序配置文件,您可以构建管道以测试代码并将其部署到不同的环境 (例如
test
和prod
)。IBM Cloud® Continuous Delivery 允许您使用工具链将应用程序构建和容器部署自动化到 Kubernetes 集群。 您还可以在 Continuous Deployment to Kubernetes 上查看本教程。 - Razee
- Razee 是一个开源项目,可自动管理跨集群、环境和云提供商的 Kubernetes 资源部署,并帮助您可视化资源的部署信息,以便监控部署过程并更快地发现部署问题。 如需了解Razee的更多信息以及如何在集群中设置Razee以自动执行部署流程,请参阅 Razee文档。
- Helm
- Helm 是 Kubernetes 软件包管理器。 可以创建新的 Helm chart 或使用预先存在的 Helm chart 来定义、安装和升级在 IBM Cloud Kubernetes Service 集群中运行的复杂 Kubernetes 应用程序。 例如,可以在 Helm Chart 中指定应用程序所需的所有 Kubernetes 资源。 然后,可以使用 Helm 来创建 YAML 配置文件,并在集群中部署这些文件。 您还可以 集成 IBM Cloud 提供的 Helm 图表,以扩展集群功能,例如使用块存储插件。 有关更多信息,请参阅在 IBM Cloud Kubernetes Service 中设置 Helm。
- Kustomize
- 使用 Kubernetes 项目 Kustomize 通过在多个环境中标准化和定制部署来打包应用程序。 Kustomize 可帮助您编写,定制和复用 Kubernetes 资源 YAML 配置。 要开始使用,请参阅 使用 Kustomize将应用程序打包以在多个环境中复用。