要在 Automation Pipelines 中创建持续集成和持续交付 (CICD) 管道,您可以手动添加阶段和任务。要规划 CICD 本地构建,您需要收集所需的信息,然后创建管道并手动向其添加阶段和任务。
您必须规划管道的持续集成 (CI) 阶段和持续交付 (CD) 阶段。创建管道并运行后,您可以在整个管道执行过程中监控趋势。
当管道包含 Docker Hub 中的映像时,在运行管道之前必须确保映像中已嵌入了 cURL 或 wget。当管道运行时,Automation Pipelines 会下载使用 cURL 或 wget 运行命令的二进制文件。
Automation Pipelines 管道工作区支持使用 Docker 和 Kubernetes 执行持续集成任务和自定义任务。
有关配置工作区的信息,请参见配置管道工作区。
规划外部和内部要求
要规划管道的 CI 和 CD 阶段,以下要求指明了在创建管道之前必须执行的操作。
此示例使用 Docker 工作区。
要基于此示例计划创建管道,您将使用 Docker 主机、Git 存储库、Maven 和多个后处理生成工具。
所需的基于云的端点和存储库或远程内部部署端点和存储库:
- Git 源代码存储库,开发人员将代码签入到该存储库中。开发人员提交更改时,Automation Pipelines 会将最新代码提取到管道中。
- Docker 生成主机的 Docker 端点,该端点将在容器内运行生成命令。
- 生成器映像,该映像将创建持续集成测试在其中运行的容器。
- 映像注册表端点,以便 Docker 生成主机可以从该端点提取生成器映像。
您需要有权访问项目。项目会对所有工作(包括管道、端点和仪表板)进行分组。验证您是 Automation Pipelines 中项目的成员。如果您不是其成员,则让 Automation Pipelines 管理员将您添加为项目的成员。请参见如何在 Automation Pipelines 中添加项目。
您将需要一个 Git Webhook,它允许 Automation Pipelines 在开发人员提交代码更改时使用 Git 触发器来触发您的管道。请参见如何使用 Automation Pipelines 中的 Git 触发器运行管道。
如何创建 CICD 管道和配置工作区
您需要创建管道,然后配置工作区、管道输入参数和任务。
要创建管道,您需要单击。
在“工作区”选项卡上,输入持续集成信息:
- 包括 Docker 生成主机。
- 输入您的生成器映像的 URL。
- 选择映像注册表端点,以便管道可以从中提取映像。容器将运行 CI 任务并部署映像。如果注册表需要凭据,您必须先创建映像注册表端点,然后在此时选择该端点,以便主机可以从注册表中提取映像。
- 添加必须缓存的工件。对于后续内部版本,目录等工件将作为依赖项下载。缓存是这些工件所驻留的位置。例如,依赖工件可以包括 Maven 的
.m2目录,以及 Node.js 的node_modules目录。这些目录在各个管道执行过程中缓存,以便在生成期间节省时间。
在“输入”选项卡上,配置管道输入参数。
- 如果管道使用来自 Git、Gerrit 或 Docker 触发器事件的输入参数,请为自动插入参数选择触发器类型。事件可以包括 Gerrit 或 Git 的更改主题,或者 Docker 的事件所有者名称。如果管道不使用从事件传递的任何输入参数,则将自动插入参数设置为无。
- 要对管道输入参数应用值和描述,请单击三个垂直圆点,然后单击编辑。所输入的值将用作任务、阶段或通知的输入。
- 要添加管道输入参数,请单击添加。例如,可以添加 approvers 以显示每次执行的默认值,但可以在运行时替代为不同的审批者。
- 要添加或移除插入的参数,请单击添加/移除插入的参数。例如,移除未使用的参数以减少结果页面的混乱,并仅显示所使用的输入参数。
配置管道以测试代码:
- 添加和配置 CI 任务。
- 其中包含使用代码来运行
mvn test的步骤。 - 为识别任务运行后出现的任何问题,请运行后处理构建工具,例如 JUnit、JaCoCo、FindBugs 和 Checkstyle。
配置管道以生成代码:
- 添加和配置 CI 任务。
- 包含使用代码运行
mvn clean install的步骤。 - 包含位置和 JAR 文件名,并使其保留您的工件。
配置管道以将映像发布到 Docker 主机:
- 添加和配置 CI 任务。
- 添加提交、导出、生成和推送映像的步骤。
- 添加
IMAGE的导出密钥以供下一个任务使用。
在配置工作区、输入参数、测试任务和生成任务后,保存您的管道。
如何启用和运行管道
为管道配置阶段和任务后,可以保存并启用管道。
然后,等待管道运行且完成,然后验证管道是否成功。如果失败,请更正任何错误并再次运行。
管道成功后,您可能想要确认以下事项:
- 检查管道执行情况并查看任务步骤的结果。
- 在管道执行的工作区中,找到有关容器和克隆 Git 存储库的详细信息。
- 在工作区中,查看后处理工具的结果,并检查错误、代码覆盖率、bug 和样式问题。
- 确认您的工件已保留。还要确认映像已使用 IMAGE 名称和值导出。
- 转到 Docker 存储库,并验证管道是否已发布您的容器。
有关显示 Automation Pipelines 如何持续集成代码的详细示例,请参见如何持续将来自 GitHub 或 GitLab 存储库的代码集成到 Automation Pipelines 中的管道。