Automation Pipelines 支持在 Gerrit 项目中进行代码审阅时触发管道。适用于 Gerrit 的触发器定义包含 Gerrit 项目以及必须对各种事件类型运行的管道。
适用于 Gerrit 的触发器会在将监控的 Gerrit 服务器中使用 Gerrit 侦听器。要在 Automation Pipelines 中定义 Gerrit 端点,需要选择项目,并输入 Gerrit 服务器的 URL。然后,在该服务器上创建 Gerrit 侦听器时指定该端点。
如果在启用了 FIPS 的 VMware Aria Automation 实例中使用 Gerrit 服务器作为 Automation Pipelines 端点,则必须验证 Gerrit 配置文件是否包含正确的消息身份验证密钥。如果 Gerrit 服务器配置文件不包含正确的消息身份验证密钥,则服务器将无法正确启动,并显示以下消息:PrivateKey/PassPhrase is incorrect
以下过程说明如何定义可在 Gerrit 侦听器定义中使用的 Gerrit 端点。如果需要编辑端点,过程结束时有一个可选步骤说明如何以及何时执行更新。
过程
- 定义 Gerrit 端点。
- 单击,然后单击新建端点。
- 选择一个项目,并为端点类型选择 Gerrit。然后输入名称和描述。
- 如果该端点是基础架构中的关键业务组件,请启用标记为受限制。
- 输入 Gerrit 服务器的 URL。
要使用默认端口,您可以提供带有 URL 的端口号或将该值留空。
- 输入 Gerrit 服务器的用户名和密码。
如果密码必须加密,请单击
创建变量,然后选择类型:
- 机密。当具有任何角色的用户运行管道时,密码进行解析。
- 受限制。当具有管理员角色的用户运行管道时,密码进行解析。
对于值,输入必须安全的密码,例如 Jenkins 服务器的密码。
- 对于私钥,输入用于安全访问 Gerrit 服务器的 SSH 密钥。
此密钥是位于
.ssh 目录中的 RSA 私钥。
- (可选) 如果密码短语与该私钥关联,请输入密码短语。
要对密码短语进行加密,请单击
创建变量,然后选择类型:
- 机密。当具有任何角色的用户运行管道时,密码进行解析。
- 受限制。当具有管理员角色的用户运行管道时,密码进行解析。
对于值,必须输入安全的密码短语,例如 SSH 服务器的密码短语。
- 单击验证,然后验证 Automation Pipelines 中的 Gerrit 端点是否连接到 Gerrit 服务器。
如果未连接,请更正任何错误,然后再次单击
验证。
- 单击创建。
- 验证 VMware Aria Automation 环境是否启用了 FIPS,或者让 Jenkins 作业使用 Jenkins URL 创建启用了 FIPS 的环境。
- 要从命令行运行命令,请通过 SSH 连接到 VMware Aria Automation 8.x 设备,然后以 root 用户身份登录。例如,在端口 22、5480 或 443 上连接到完全限定域名 URL,例如 https://cava-1-234-567.yourcompanyFQDN.com。
- 要检查 VMware Aria Automation 上的 FIPS,请运行命令 vracli security fips。
- 验证命令是否返回
FIPS mode: strict
。
- 如果 Gerrit 服务器是启用了 FIPS 的 VMware Aria Automation 实例中的端点,请确保 Gerrit 配置文件包含正确的消息身份验证 (MAC) 密钥。
- 打开 Gerrit 并创建 SSH 密钥对。
- 在 '$site_path'/etc/gerrit.config 中找到 Gerrit 服务器配置文件。
- 验证 Gerrit 服务器配置文件是否包含一个或多个消息身份验证代码 (MAC) 密钥,
hmac-MD5
除外。
注: 在 FIPS 模式下,
hmac-MD5
不是受支持的 MAC 算法。为确保 Gerrit 服务器正常启动,Gerrit 服务器配置文件必须排除此算法。如果 Gerrit 服务器未正确启动,则会显示以下消息:
PrivateKey/PassPhrase is incorrect
以加号 (+) 开头的受支持消息身份验证代码 (MAC) 密钥名称处于启用状态。以连字符 (-) 开头的 MAC 密钥名称将从默认 MAC 列表中移除。默认情况下,这些受支持的 MAC 可在
Automation Pipelines 中用于 Gerrit 服务器:
hmac-md5-96
hmac-sha1
hmac-sha1-96
hmac-sha2-256
hmac-sha2-512
- (可选) 在更新 Gerrit 端点(例如更改 URL 或私钥)之前,请检查该端点是否已连接到 Gerrit 侦听器。