12.6. 自动签名
在具有高度可信 持续集成 (CI)环境(如 OpenShift 或 Jenkins)的环境中,可以自动执行签名过程。
例如,您可以将 GPG 私钥存储在一个选择的 CI 平台上作为一个 secret,并在 CI 环境中将其导入到 GnuPG 中。然后,您可以通过普通的 CI 环境中的签名工作流运行。
使用 GPG 对项目进行签名时,环境变量 ANSIBLE_SIGN_GPG_PASSPHRASE
可以设置为签名密钥的密码短语。这可以在 CI 管道中注入和屏蔽或保护。
根据场景,在签名和验证过程中,ansible-sign
会以不同的退出代码返回。这在 CI 和自动化上下文中也很有用,因为 CI 环境根据故障而不同。例如,它可以发送一些错误的警报,但对其他错误有静默失败。
这些是 ansible-sign
中使用的当前退出代码,可被视为稳定:
退出代码 | 大约含义 | 示例情境 |
---|---|---|
0 | 成功 |
|
1 | 常规故障 |
|
2 | 验证和验证失败 |
|
3 | 签名验证失败 |
|
4 | 签名进程失败 |
|