第 6 章 安装和配置 Ansible 代码 bot
Ansible 代码 bot 扫描 GitHub 存储库中托管的现有内容集合、角色和 playbook,并在有最佳实践或质量改进建议时主动创建拉取请求。
Ansible 代码 bot 扫描您的代码存储库,以推荐代码质量改进。它促进 Ansible 最佳实践,同时避免常见错误导致错误,或者使代码更难以维护。bot 自动向存储库提交拉取请求,这会主动向存储库所有者发送建议更改的内容。您可以配置 Ansible 代码 bot 来扫描现有的 Git 存储库(公共和私有)。
您的机构必须具有 Red Hat Ansible Automation Platform 的有效订阅才能使用 Ansible 代码 bot。但是,IBM watsonx Code Assistant 不需要使用 Ansible 代码 bot。
安装 Ansible 代码 bot 后,它会自动扫描采用 Jinja 格式的所选存储库。扫描完成后,代码 bot 会为每个存储库生成初始 PR;初始 PR 还包含配置为每周运行的扫描调度。您必须查看初始 PR 的更改,并合并 PR。初始 PR 合并后,会触发扫描调度,并每周执行后续的存储库扫描。如果需要,您可以将扫描调度改为每日或每月节奏。
您可以访问 Ansible 代码 bot 仪表板,其中显示所有带有 bot 安装的存储库及其扫描状态。在控制面板中,您可以启动手动扫描、查看扫描历史记录并查看存储库。从 GitHub 中,您可以将调度配置为定期扫描存储库,并从中添加或删除存储库。如需更多信息,请参阅管理存储库扫描。
以下 GitHub 版本支持 Ansible 代码 bot:
- GitHub.com
GitHub Enterprise Cloud
GitHub Enterprise Server 不支持 Ansible 代码 bot。如需更多信息,请参阅 GitHub 文档中的 GitHub 计划。
以下示例是 Ansible 代码 bot 建议的代码建议:
- 可用于已弃用的旧语法或实现模式的替代方法
模块版本更改和更新,例如:
- 添加任何新的所需参数
- 标记已弃用的参数
- 删除未使用的参数
- 应用 YAML 最佳实践
- 添加注释块
- 在名称字段中修复 casing 问题
6.1. 安装 Ansible 代码 bot 复制链接链接已复制到粘贴板!
安装 Ansible 代码 bot 以获取存储库的代码建议,然后登录 Ansible 代码 bot 仪表板以监控和管理您的存储库扫描。
流程
- 使用与您的机构关联的帐户登录 GitHub。
- 进入 Ansible 代码 bot GitHub 应用。
选择您希望应用程序访问的 Ansible 存储库:
- 所有软件仓库 :提供读取所有存储库元数据的访问权限。
- 仅选择软件仓库 :提供访问权限来只读取您选择的存储库的元数据。
- 可选:如果您只选择上一步中的 存储库,请选择您希望 Ansible 代码 bot 从 Select repositories 列表访问的存储库。
点 Install & Authorize。此时会显示一条信息,用于指定在安装过程中为 bot 自动授予以下权限:
- 对元数据的读访问
- 对代码和拉取请求的读和写访问
- 出现提示时,以机构管理员身份登录到您的 Red Hat Single Sign-On 帐户。
登录到 Ansible 代码 bot 仪表板:
- 在 Authorize Ansible code bot 页面中,验证您的帐户和存储库权限。
点 Authorize Ansible。
在 Authorize Ansible code bot 页面中,会出现以下操作:
- Ansible 代码 bot 会验证您是否是拥有 Red Hat Ansible Automation Platform 有效订阅的机构的一部分。
- GitHub 请求读取权限,以访问与您的帐户关联的存储库。
在授权成功后,您登录到 Ansible 代码 bot 仪表板。仪表板显示安装有 Ansible 代码 bot 的所有存储库及其扫描状态。
验证
安装 Ansible 代码 bot 后,它会自动扫描采用 Jinja 格式的所选存储库。扫描完成后,代码 bot 会为每个存储库生成初始 PR;初始 PR 还包含配置为每周运行的扫描调度。
执行以下任务:
查看第一个 PR 是否有推荐的更改,并合并 PR。
合并初始 PR 后,会触发配置的扫描调度,并每周执行后续的存储库扫描。
注意如果您没有合并初始 PR,则不会触发每周扫描调度,Ansible 代码 bot 仪表板在没有关联扫描历史记录的情况下显示存储库。
下图显示了正在创建的初始 PR 的示例:
- 可选:如果需要,您可以手动扫描存储库,或者将 扫描调度改为每日或每月节奏。
- 通过添加存储库或从扫描中删除现有存储库来修改扫描的存储库。