要在 Code Stream 中创建持续集成和持续交付 (CICD) 管道,可以使用 CICD 智能管道模板。要计划 CICD 本机构建,您需要收集填写智能管道模板所需的信息,然后使用该智能管道模板在此示例计划中创建管道。

在智能管道模板中输入信息并将其保存后,该模板会创建一个包含阶段和任务的管道。它还会根据所选环境类型(例如,开发和生产)指示应将映像部署到的位置。管道将发布 Docker 映像,并执行所需的操作以运行该映像。运行管道后,您可以在整个管道执行过程中监控趋势。

要创建 CICD 管道,您需要对管道的持续集成 (CI) 阶段和持续交付 (CD) 阶段进行计划。

当管道包含 Docker Hub 中的映像时,在运行管道之前必须确保映像中已嵌入了 cURL。当管道运行时,vRealize Automation Code Stream 会下载使用 cURL 运行命令的二进制文件。

计划持续集成 (CI) 阶段

要计划管道的 CI 阶段,您需要设置外部要求和内部要求,并确定需要在智能管道模板的 CI 部分中输入的信息。以下是摘要。

所需的基于云的端点和存储库或远程内部部署端点和存储库:

  • Git 源代码存储库,开发人员将代码签入到该存储库中。开发人员提交更改时, Code Stream 会将最新代码提取到管道中。
  • 存储库的 Git 端点,开发人员源代码驻留在该端点。
  • Docker 生成主机的 Docker 端点,该端点将在容器内运行生成命令。
  • Kubernetes 端点,以便 Code Stream 可以将映像部署到 Kubernetes 集群。
  • 生成器映像,该映像将创建持续集成测试在其中运行的容器。
  • 映像注册表端点,以便 Docker 生成主机可以从该端点提取生成器映像。

您需要有权访问项目。项目会对所有工作(包括管道、端点和仪表板)进行分组。验证您是 Code Stream 中项目的成员。如果您不是其成员,则让 Code Stream 管理员将您添加为项目的成员。请参见如何在 VMware Code Stream中添加项目

您将需要一个 Git Webhook,它允许 Code Stream 在开发人员提交代码更改时使用 Git 触发器来触发您的管道。请参见如何使用 Code Stream 中的 Git 触发器运行管道

生成工具集:

  • 生成类型,例如 Maven。
  • 您使用的所有后处理生成工具,例如 JUnit、JaCoCo、Checkstyle 和 FindBugs。

发布工具:

  • 诸如 Docker 等工具,该工具将部署生成容器。
  • 映像标记,该标记是提交 ID 或内部版本号。

生成工作区:

  • Docker 生成主机,该主机是 Docker 端点。
  • 映像注册表。管道的 CI 部分将从所选注册表端点提取映像。容器将运行 CI 任务,并部署映像。如果注册表需要凭据,则您首先必须创建映像注册表端点,然后在此处选择该端点,以便主机可以从注册表提取映像。
  • 生成器映像的 URL,该映像将创建持续集成任务在其中运行的容器。

计划持续交付 (CD) 阶段

要计划管道的 CD 阶段,您需要设置外部要求和内部要求,并确定需要在智能管道模板的 CD 部分中输入的信息。

所需的基于云的端点或远程内部部署端点:

  • Kubernetes 端点,以便 Code Stream 可以将映像部署到 Kubernetes 集群。

环境类型和文件:

  • Code Stream 将应用程序部署到的所有环境类型,例如,开发和生产。智能管道模板将根据所选环境类型在管道中创建各个阶段和任务。
    表 1. CICD 智能管道模板创建的管道阶段
    管道内容 作用
    生成-发布阶段 生成并测试代码,创建生成器映像,以及将映像发布到 Docker 主机。
    开发阶段 使用 Amazon Web Services (AWS) 开发集群创建并部署映像。在此阶段,您可以在集群中创建命名空间,以及创建密钥。
    生产阶段 使用 VMware Tanzu Kubernetes Grid Integrated Edition(以前称为 VMware Enterprise PKS)的生产版本将映像部署到生产 Kubernetes 集群。
  • 在 CICD 智能管道模板的 CD 部分中选择的 Kubernetes YAML 文件。

    要应用文件,请单击选择,选择 Kubernetes YAML 文件,然后单击处理。智能管道模板将显示可用的服务和部署环境。需要选择服务、集群端点和部署策略。例如,要使用 Canary 部署模型,请选择 Canary 并输入部署阶段所占的百分比。

    处理 Canary CICD 部署。

有关使用智能管道模板创建适用于蓝绿部署的管道的示例,请参见如何将 VMware Code Stream 中的应用程序部署到蓝绿部署

如何使用智能管道模板创建 CICD 管道

收集所有信息并设置所需的内容后,下文介绍了如何从 CICD 智能管道模板创建管道。

在“管道”中,您需要选择新建管道 > 智能模板

选择智能模板。

选择 CICD 智能管道模板。

从 CICD 智能管道模板创建持续集成和持续交付管道。

填写模板,并使用模板创建的阶段保存管道。如果需要进行任何最终更改,可以编辑并保存管道。

从 CICD 智能管道模板创建的新 CICD 管道阶段。

然后启用并运行管道。管道运行后,可以进行以下检查:

  • 确认管道已成功完成。单击执行,然后搜索管道。如果失败,请更正任何错误并再次运行。
  • 确认 Git Webhook 运行正常。Git 活动选项卡将显示事件。单击触发器 > Git > 活动
  • 查看管道仪表板并检查趋势。单击仪表板,然后搜索您的管道仪表板。您还可以创建自定义仪表板以报告其他 KPI。

有关详细示例,请参见如何持续将来自 GitHub 或 GitLab 存储库的代码集成到 VMware Code Stream 中的管道