第 11 章 项目


项目是在自动化控制器中表示的 Ansible playbook 的逻辑集合。您可以以不同的方式管理 playbook 和 playbook 目录:

  • 将它们手动放置到自动化控制器服务器的 Project Base 路径下。
  • 通过将 playbook 放置到自动化控制器支持的源代码管理(SCM)系统中。这包括 Git、Subversion、Mercurial 和 Red Hat Insights。

有关创建 Red Hat Insights 项目的更多信息,请参阅为 Red Hat Ansible Automation Platform 修复设置 Red Hat Insights

注意

项目基本路径为 /var/lib/awx/projects。但是,这可以被系统管理员进行修改。它在 /etc/tower/conf.d/custom.py 中配置。

编辑此文件时要小心,因为不正确的设置可以禁用您的安装。

Projects 页面中显示当前可用的项目列表。

提供了一个 Demo Project,您可以先使用它。

默认视图为折叠状态(Compact),带有项目名称及其状态,但您可以使用每个条目旁边的 Arrow 来展开以了解更多信息。

对于列出的每个项目,您可以使用每个项目旁边的图标获取最新的 SCM 修订 Refresh ,编辑 Edit 项目,或者复制 Copy 项目属性。

在相关作业运行时,可以更新项目。

如果您有大型项目(大约 10 GB),/tmp 上的磁盘空间可能会出现问题。

status 表示项目的状态,可以是以下之一(注意您也可以根据特定状态类型过滤您的视图):

  • Pending - 已创建源控制更新,但尚未排队或启动。任何作业(不仅仅是源控制更新)会一直处于待处理状态,直到系统准备好运行为止。可能的原因包括:

    • 它有依赖项当前正在运行,因此必须等到它们完成为止。
    • 在其配置的位置没有足够的运行容量。
  • waiting - 源控制更新处于等待执行的队列中。
  • Running - 源控制更新当前正在进行中。
  • 成功 - 此项目的最后源控制更新成功。
  • Failed - 此项目的最后源控制更新失败。
  • Error - 最后的源控制更新作业根本无法运行。
  • 已取消 - 项目的最新源控制更新已被取消。
  • 永不更新 - 项目是为源控制配置的,但从未更新。
  • OK - 项目没有配置为源控制,且正确就位。
  • 缺少 项目基本路径的 /var/lib/awx/projects 中没有。这适用于手动或源控制受管项目。
注意

凭证类型 Manual 的项目无法更新或调度基于源控制的操作,而无需重新配置为 SCM 类型凭证。

11.1. 添加新项目

您可以在自动化控制器中创建一个名为 projects 的 playbook 的逻辑集合。

流程

  1. 在导航面板中,选择 Automation Execution Projects
  2. Projects 页面上,单击 Create project 以启动 Create Project 窗口。
  3. 在以下必填字段中输入相关信息:

    • Name (必需)
    • 可选: 描述
    • Organization (必需):项目必须至少有一个机构。现在选择一个机构来创建项目。创建项目时,您可以添加额外的机构。
    • 可选: 执行环境 :输入执行环境的名称,或从现有环境列表中搜索以运行此项目。如需更多信息,请参阅 创建和使用执行环境
    • 源控制类型 (必需):从菜单中选择与此项目关联的 SCM 类型。以下部分中的选项会根据所选的类型提供。如需更多信息,请参阅 手动管理 playbook 或使用 源控制管理 playbook
    • 可选: 内容签名验证凭证 :使用此字段启用内容验证。指定用于在项目同步期间验证内容签名的 GPG 密钥。如果内容已被篡改,则该作业将不会运行。如需更多信息,请参阅 项目签名和验证
  4. 单击 Create project

其他资源

以下描述了项目源的方式:

11.1.1. 手动管理 playbook

流程

  • 在 Project Base Path 下创建一个或多个目录来存储 playbook,例如 /var/lib/awx/projects/
  • 创建 playbook 文件或将其复制到 playbook 目录中。
  • 确保 playbook 目录和文件属于运行该服务的同一 UNIX 用户和组。
  • 确保权限适合 playbook 目录和文件。

故障排除

  • 如果您还没有将任何 Ansible Playbook 目录添加到基础项目路径中,则会显示错误消息。选择以下选项之一排除这个错误:

    • 创建适当的 playbook 目录,并从您的(源代码管理)SCM 中签出 playbook。
    • 将 playbook 复制到适当的 playbook 目录中。

11.1.2. 使用源控制管理 playbook

在使用源控制管理 playbook 时选择以下选项之一:

11.1.2.1. SCM 类型 - 配置 playbook 以使用 Git 和 Subversion

流程

  1. 在导航面板中,选择 Automation Execution Projects
  2. 点您要使用的项目名称。
  3. 在项目 Details 选项卡中,单击 Edit project
  4. Source control type 菜单中选择适当的选项(Git 或 Subversion)。
  5. 在以下字段中输入相关信息:

    • 源控制 URL - 请参阅工具提示 中的示例。
    • 可选: Source control branch/tag/commit :从源控制(Git 或 Subversion)输入 SCM 分支、标签、提交散列、任意 refs 或修订号(如果适用)。除非在下一字段中还提供了自定义 refspec,否则某些提交哈希和引用可能不可用。如果留空,则默认为 HEAD,这是此项目最后一次签出的 Branch、Tag 或 Commit。
    • 源控制 refspec - 此字段特定于 git 源控制的选项,只有熟悉和熟悉的高级用户才应指定要从远程存储库下载哪些引用。如需更多信息,请参阅 作业分支覆盖
    • 源控制凭证 - 如果需要身份验证,请选择适当的源控制凭证。
  6. 可选: Options - 选择启动行为(如果适用):

    • 进行更新前清除任何本地修改。
    • 删除 - 在进行更新前删除整个本地存储库。根据存储库的大小,这可能会显著增加完成更新所需的时间。
    • 跟踪子模块 - 跟踪最新的提交。工具提示 Tooltip 中提供了更多信息。
    • 更新启动时的修订版本,将项目的修订更新至远程源控制中的当前修订版本,并缓存 Ansible Galaxy 支持或 集合支持 中的 roles 目录。自动化控制器可确保本地修订版本匹配,并且角色和集合与最近更新保持同步。另外,为了避免在生成作业的速度超过项目可以同步的速度,为了避免作业溢出,请选择此选项可让您将缓存超时配置为缓存之前的项目同步。
    • Allow branch override - 启用作业模板或使用此项目的清单源,从项目以外的指定 SCM 分支或修订开始。如需更多信息,请参阅 作业分支覆盖
  7. 单击 Save project

11.1.2.2. SCM 类型 - 配置 playbook 以使用 Red Hat Insights

流程

  1. 在导航面板中,选择 Automation Execution Projects
  2. 点您要使用的项目名称。
  3. 在项目 Details 选项卡中,单击 Edit project
  4. Source Control Type 菜单中选择 Red Hat Insights
  5. Insights credential 字段中,选择用于 Insights 的适当凭证,因为 Red Hat Insights 需要凭证进行身份验证。
  6. 可选:在 Options 字段中,选择启动行为(如果适用):

    • 进行更新前清除任何本地修改。
    • 删除 - 在进行更新前删除整个本地存储库。根据存储库的大小,这可能会显著增加完成更新所需的时间。
    • 在启动时更新 项目的修订 - 将项目的修订更新至远程源控制中的当前修订版本,并缓存 Ansible Galaxy 支持 或集合中的 roles 目录。???自动化控制器可确保本地修订版本匹配,并且角色和集合是最新的。如果生成作业的速度比项目可以同步的速度快,请选择此选项可让您将缓存超时配置为缓存以前的项目同步,以避免作业溢出。
  7. 单击 Save project

11.1.2.3. SCM 类型 - 配置 playbook 以使用远程归档

使用远程存档的 playbook 使项目基于生成版本工件或发行版本的构建过程,其中包含该项目在单个存档中的所有要求。

流程

  1. 在导航面板中,选择 Automation Execution Projects
  2. 点您要使用的项目名称。
  3. 在项目 Details 选项卡中,单击 Edit project
  4. Source control type 菜单中选择 Remote Archive
  5. 在以下字段中输入相关信息:

    • 源控制 URL - 需要一个远程归档的 URL,如 GitHub 发行版本或 存储在 Artifactory 中的构建工件,并将其解包到要使用的项目路径中。
    • 源控制凭证 - 如果需要身份验证,请选择适当的源控制凭证。
  6. 可选:在 Options 字段中,选择启动行为(如果适用):

    • 进行更新前清除任何本地修改。
    • 删除 - 在进行更新前删除整个本地存储库。根据存储库的大小,这可能会显著增加完成更新所需的时间。
    • 不建议 在启动时更新修订。此选项将项目的修订更新至远程源控制中的当前修订版本,并缓存 Ansible Galaxy 支持集合 支持的 roles 目录。
    • 不建议使用分支覆盖。此选项可让使用此项目的作业模板通过项目以外的指定 SCM 分支或修订启动。

      注意

      由于此源控制类型旨在支持未更改工件的概念,因此建议禁用 Galaxy 集成(至少针对角色)。

  7. 单击 Save project
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.