第 16 章 项目


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

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

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

注意

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

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

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

自动化控制器为您提供了可初始使用的 Demo Project

Projects - home

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

Projects - expanded

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

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

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

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

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

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

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

16.1. 添加新项目

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

流程

  1. 在导航面板中,选择 Resources Projects
  2. Projects 页面上,单击 Add 以启动 Create Project 窗口。

    Projects- create new project

  3. 在以下必填字段中输入相关信息:

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

其他资源

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

16.1.1. 手动管理 playbook

流程

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

故障排除

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

    • 创建适当的 playbook 目录并从您的 SCM 中签出 playbook (拼写此*)。
    • 将 playbook 复制到适当的 playbook 目录中。

16.1.2. 使用源控制管理 playbook

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

流程

  1. 在 Project Details 选项卡中,从 SCM Type 菜单中选择适当的选项(Git 或 Subversion)。

    Select scm

  2. 在以下字段中输入相关信息:

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

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

      Override options

  4. Save 保存您的项目。
提示

使用 GitHub 链接是使用 playbook 的一种简单方法。为了帮助您入门,请使用 此处 提供的 helloworld.yml 文件。

此链接提供了与 自动化控制器用户指南 中手动创建的 playbook 非常相似的 playbook。使用它不会以任何方式改变或损害您的系统。

流程

  1. 在 Project Details 页面中,从 SCM Type 菜单中选择 Red Hat Insights
  2. Credential 字段中,选择用于 Insights 的适当凭证,因为 Red Hat Insights 需要凭证进行身份验证。
  3. 可选:在 SCM Update Options 字段中,选择启动行为(如果适用)。

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

      SCM insights

  4. 点击 Save

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

流程

  1. 在 Project Details 页面中,从 SCM Type 菜单中选择 Remote Archive
  2. 在以下字段中输入相关信息:

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

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

      Remote archived project

      注意

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

  4. 点击 Save
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat