要在 Code Stream 中创建持续集成和持续交付 (CICD) 管道,您可以手动添加阶段和任务。要规划 CICD 本地构建,您需要收集所需的信息,然后创建管道并手动向其添加阶段和任务。

您将需要规划管道的持续集成 (CI) 和持续交付 (CD) 阶段。创建管道并运行后,您可以在整个管道执行过程中监控趋势。

要规划管道的 CI 和 CD 阶段,您需要在创建管道之前确认所有要求已满足。

规划外部和内部要求

要基于此示例计划创建管道,您将使用 Docker 主机、Git 存储库、Maven 和多个后处理生成工具。

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

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

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

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

如何创建 CICD 管道和配置工作区

您需要创建管道,然后配置工作区、管道输入参数和任务。

要创建管道,您需要单击管道 > 新建管道 > 空白画布

从空白画布创建管道。

在“工作区”选项卡上,输入持续集成信息:

  • 包括 Docker 生成主机。
  • 输入您的生成器映像的 URL。
  • 选择映像注册表端点,以便管道可以从中提取映像。容器将运行 CI 任务并部署映像。如果注册表需要凭据,您必须先创建映像注册表端点,然后在此时选择该端点,以便主机可以从注册表中提取映像。
  • 添加必须缓存的工件。对于后续内部版本,目录等工件将作为依赖项下载。缓存是这些工件所驻留的位置。例如,依赖工件可以包括 Maven 的 .m2 目录,以及 Node.js 的 node_modules 目录。这些目录在各个管道执行过程中缓存,以便在生成期间节省时间。

    在管道中配置工作区。

在“输入”选项卡上,配置管道输入参数。

  • 如果管道使用来自 Git、Gerrit 或 Docker 触发器事件的输入参数,请为自动插入参数选择触发器类型。事件可以包括 Gerrit 或 Git 的更改主题,或者 Docker 的事件所有者名称。如果管道不使用从事件传递的任何输入参数,则将自动插入参数设置为
  • 要对管道输入参数应用值和描述,请单击三个垂直圆点,然后单击编辑。所输入的值将用作任务、阶段或通知的输入。
  • 要添加管道输入参数,请单击添加。例如,可以添加 approvers 以显示每次执行的默认值,但可以在运行时替代为不同的审批者。
  • 要添加或移除插入的参数,请单击添加/移除插入的参数。例如,移除未使用的参数以减少结果页面的混乱,并仅显示所使用的输入参数。

    配置 CICD 管道中的“输入”选项卡。

配置管道以测试代码:

  • 添加和配置 CI 任务。
  • 其中包含使用代码来运行 mvn test 的步骤。
  • 运行后处理生成工具(如 JUnit、JaCoCo、FindBugs 和 Checkstyle),以识别任务运行后出现的任何问题。

    配置管道任务以测试代码。

配置管道以生成代码:

  • 添加和配置 CI 任务。
  • 其中包含使用代码来运行 mvn clean install 的步骤。
  • 包含位置和 JAR 文件名,并使其保留您的工件。

    配置管道任务以生成代码。

配置管道以将映像发布到 Docker 主机:

  • 添加和配置 CI 任务。
  • 添加提交、导出、生成和推送映像的步骤。
  • 添加 IMAGE 的导出密钥以供下一个任务使用。

    配置管道任务以将映像发布到 Docker 主机。

在配置工作区、输入参数、测试任务和生成任务后,保存您的管道。

如何启用和运行管道

为管道配置阶段和任务后,可以保存并启用管道。

然后,等待管道运行且完成,然后验证管道是否成功。如果失败,请更正任何错误并再次运行。

管道成功后,您可能想要确认以下事项:

  • 检查管道执行情况并查看任务步骤的结果。
  • 在管道执行的工作区中,找到有关容器和克隆 Git 存储库的详细信息。
  • 在工作区中,查看后处理工具的结果,并检查错误、代码覆盖率、bug 和样式问题。
  • 确认您的工件已保留。还要确认映像已使用 IMAGE 名称和值导出。
  • 转到 Docker 存储库,并验证管道是否已发布您的容器。

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