Automation Pipelines 提供一个 Jenkins 插件,该插件可触发用于生成和测试源代码的 Jenkins 作业。Jenkins 插件运行测试用例,并且可以使用自定义脚本。
要在管道中运行 Jenkins 作业,需要使用 Jenkins 服务器,并在 Automation Pipelines 中添加 Jenkins 端点。然后创建管道并向其添加 Jenkins 任务。
在 Automation Pipelines 中使用 Jenkins 任务和 Jenkins 端点时,可以创建支持 Jenkins 中多分支作业的管道。多分支作业包括 Git 存储库每个分支中的单个作业。在 Automation Pipelines 中创建支持多分支作业的管道时:
- Jenkins 任务可以运行位于 Jenkins 服务器上多个文件夹中的 Jenkins 作业。
- 可以在 Jenkins 任务配置中覆盖文件夹路径,以便使用不同的文件夹路径,这将覆盖在 Automation Pipelines 的 Jenkins 端点中定义的默认路径。
- Automation Pipelines 中的多分支管道检测 Git 存储库或 GitHub 存储库中类型为 .groovy 的 Jenkins 作业文件,并开始为在存储库中扫描到的每个分支创建作业。
- 可以使用在 Jenkins 任务配置中提供的路径覆盖在 Jenkins 端点中定义的默认路径,并运行与主 Jenkins 作业中的任何分支相关联的作业和管道。
前提条件
- 设置运行 1.561 或更高版本的 Jenkins 服务器。
- 验证您是 Automation Pipelines 中项目的成员。如果您不是成员,则让 Automation Pipelines 管理员将您添加为项目的成员。请参见如何在 Automation Pipelines 中添加项目。
- 确认作业在 Jenkins 服务器中存在,以便管道任务可以运行该作业。
过程
- 添加并验证 Jenkins 端点。
- 单击。
- 选择一个项目,并为端点类型选择 Jenkins。然后输入名称和描述。
- 如果该端点是基础架构中的关键业务组件,请启用标记为受限制。
- 输入 Jenkins 服务器的 URL。
- 输入用于登录到 Jenkins 服务器的用户名和密码。然后输入其余信息。
表 1.
Jenkins 端点的其余信息
端点条目 |
说明 |
文件夹路径 |
用于对作业进行分组的文件夹的路径。Jenkins 可以运行该文件夹中的所有作业。可以创建子文件夹。例如:
- folder_1 可以包括 job_1
- folder_1 可以包括 folder_2,后者可以包括 job_2
为 folder_1 创建端点时,文件夹路径为 job/folder_1,并且端点仅列出 job_1。 要获取名为 folder_2 的子文件夹中的作业列表,必须创建另一个使用文件夹路径 /job/folder_1/job/folder_2/ 的端点。 |
多分支 Jenkins 作业的文件夹路径 |
要支持多分支 Jenkins 作业,请在 Jenkins 任务中输入完整路径,其中包括 Jenkins 服务器 URL 和完整的作业路径。在 Jenkins 任务中包括文件夹路径时,该路径将替代 Jenkins 端点上显示的路径。对于 Jenkins 任务中的自定义文件夹路径,Automation Pipelines 仅显示该文件夹中的作业。
- 例如:https://server.yourcompany.com/job/project
- 如果管道还必须触发主 Jenkins 作业,请使用:https://server.yourcompany.com/job/project/job/main
|
URL |
Jenkins 服务器的主机 URL。以 protocol://host:port 格式输入 URL。例如:http://192.10.121.13:8080 |
轮询间隔 |
Automation Pipelines 向 Jenkins 服务器轮询更新的间隔持续时间。 |
请求重试计数 |
Jenkins 服务器的已调度生成请求的重试计数。 |
重试等待时间 |
重试 Jenkins 服务器的生成请求之前等待的秒数。 |
- 单击验证,然后验证端点是否连接到 Automation Pipelines。如果未连接,请更正任何错误,然后单击保存。
- 要生成代码,请创建管道,然后添加使用 Jenkins 端点的任务。
- 单击。
- 单击默认阶段。
- 在“任务”区域,输入任务的名称。
- 选择 Jenkins 作为任务类型。
- 选择您创建的 Jenkins 端点。
- 从下拉菜单中,从 Jenkins 服务器中选择管道将运行的作业。
- 输入作业的参数。
- 输入 Jenkins 作业的身份验证令牌。
- 启用并运行管道,然后查看管道执行。
- 在管道仪表板中查看执行详细信息和状态。
可以确定任何失败以及失败原因。还可以查看有关管道执行持续时间、完成和失败的趋势。
结果
恭喜!通过添加端点,创建管道并配置用于生成代码的 Jenkins 任务,您已将 Automation Pipelines 与 Jenkins 集成。
示例: Jenkins 生成任务的示例 YAML
对于此示例中使用的 Jenkins 生成任务类型,YAML 类似于以下代码,并且通知已打开:
test:
type: Jenkins
endpoints:
jenkinsServer: jenkins
input:
job: Add two numbers
parameters:
Num1: '23'
Num2: '23'