搜索

第 16 章 项目

download PDF

项目是在自动化控制器中表示的 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 时选择以下选项之一:

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

流程

  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。使用它不会以任何方式改变或损害您的系统。

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

流程

  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

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

使用远程存档的 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 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

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

© 2024 Red Hat, Inc.