作为开发人员,您想要持续集成来自 GitHub 存储库或 GitLab Enterprise 存储库的代码。每次开发人员更新其代码并提交存储库更改时, Code Stream 可以侦听这些更改并触发管道。
要让 Code Stream 在代码发生更改时触发管道,可以使用 Git 触发器。每次提交代码更改时, Code Stream 便会触发管道。
Code Stream 管道工作区支持使用 Docker 和 Kubernetes 执行持续集成任务和自定义任务。
有关配置工作区的详细信息,请参见配置管道工作区。
以下流程图显示了使用智能管道模板创建管道或手动构建管道时可以采用的工作流。
以下示例使用 Docker 工作区。
要生成代码,请使用 Docker 主机。您将使用 JUnit 和 JaCoCo 作为测试框架工具并将其包含到管道中,它们将运行单元测试和代码覆盖率测试。
然后,您可以使用持续集成智能管道模板创建持续集成管道,该管道可构建和测试代码并将代码部署到项目团队在 AWS 上的 Kubernetes 集群。要存储持续集成任务的代码依赖关系工件以便在代码生成时节省时间,可以使用缓存。
在生成和测试代码的管道任务中,可以包含多个持续集成步骤。这些步骤可驻留在同一个工作目录中,管道触发时 Code Stream 会将源代码克隆到该目录。
要将代码部署到 Kubernetes 集群,可以在管道中使用 Kubernetes 任务。之后,必须启用并运行管道。然后,对存储库中的代码进行更改,并观察管道触发器。要在管道运行之后监控并报告管道趋势,请使用仪表板。
在以下示例中,要创建将代码持续集成到管道的持续集成管道,请使用持续集成智能管道模板。此示例使用 Docker 工作区。
(可选)可以手动创建管道,并向其添加阶段和任务。有关计划生成持续集成和手动创建管道的更多信息,请参见在手动添加任务之前在 Code Stream 中规划 CICD 本地构建。
前提条件
- 计划生成持续集成。请参见在使用智能管道模板之前在 Code Stream 中计划持续集成本机构建。
- 确认 GitLab 源代码存储库存在。要获得帮助,请咨询您的 Code Stream 管理员。
- 添加 Git 端点。例如,请参见如何使用 Code Stream 中的 Git 触发器运行管道。
- 要让 Code Stream 侦听 GitHub 存储库或 GitLab 存储库中的更改并在发生更改时触发管道,请添加 Webhook。例如,请参见如何使用 Code Stream 中的 Git 触发器运行管道。
- 添加 Docker 主机端点,该端点将为持续集成任务创建一个容器以供多个持续集成任务使用。有关端点的更多信息,请参见什么是 Code Stream 中的端点。
- 获取映像 URL、生成主机和构建映像的 URL。要获得帮助,请咨询您的 Code Stream 管理员。
- 确认您使用 JUnit 和 JaCoCo 作为测试框架工具。
- 为持续集成构建设置外部实例:Jenkins、TFS 或 Bamboo。Kubernetes 插件部署代码。要获得帮助,请咨询您的 Code Stream 管理员。
过程
结果
恭喜!您已创建一个管道,该管道可持续将来自 GitHub 存储库或 GitLab 存储库的代码集成到管道中并部署构建映像。
下一步做什么
有关更多信息,请参见供 Code Stream 管理员和开发人员使用的更多资源。