2.3. 使用自动化中心进行存储库管理


作为平台管理员,您可以在存储库之间创建、编辑、删除和移动自动化内容集合。

2.3.1. Automation Hub 中的软件仓库类型

在自动化中心中,您可以根据是否要验证集合,将集合发布到两种类型的存储库:

Staging 软件仓库
任何有权上传到命名空间的用户都可以将集合发布到这些存储库中。这些仓库中的集合在搜索页面中不可用。相反,它们会显示在批准仪表板中,供管理员进行验证。staging 存储库使用 pipeline=staging 标签标记。
自定义软件仓库
对存储库具有写入权限的任何用户都可以将集合发布到这些存储库。自定义软件仓库可以是公共的,所有用户都可以查看它们,或者只有具有查看权限的用户才能看到它们。这些存储库不会在批准仪表板中显示。如果存储库所有者启用了搜索,则集合可能会出现在搜索结果中。

默认情况下,Automation Hub 包含一个 staging 存储库,它会在未指定存储库来上传集合时自动使用。用户可以在存储库创建期间创建新的暂存 存储库

2.3.2. 在自动化中心中批准自定义软件仓库的批准管道

在 Automation Hub 中,您可以将集合批准到标记为 pipeline=approved 标签的任何存储库中。默认情况下,自动化中心包含一个用于批准内容的存储库,但您可以选择从仓库创建屏幕中添加更多。您无法直接发布带有 pipeline=approved 标签的软件仓库。在发布至 'pipleline=approved' 存储库之前,集合必须首先经过一个暂存存储库并被批准。

自动批准
启用自动批准后,任何上传到 staging 存储库的集合将自动提升到标记为 pipeline=approved 的所有存储库。
批准需要

当禁用自动批准后,管理员可以查看批准仪表板,并查看上传到任何暂存存储库的集合。由 Approved 排序显示已批准的存储库列表。从此列表中,管理员可以选择要提升内容的一个或多个存储库。

如果只有一个已批准的存储库,集合会自动移到其中,管理员不会被提示选择存储库。

拒绝
拒绝的集合会自动放入被拒绝的存储库,该存储库被预安装。

2.3.3. 基于角色的访问控制来限制对自定义软件仓库的访问

使用基于角色的访问控制(RBAC)通过基于用户角色定义访问权限来限制用户对自定义存储库的访问。默认情况下,用户可以查看其自动化中心中的所有公共存储库,但它们无法修改存储库,除非其角色允许他们这样做。相同的逻辑适用于存储库上的其他操作。例如,您可以通过更改其角色权限,删除用户从自定义存储库下载内容的能力。有关管理用户对自动化中心访问权限的信息,请参阅 访问管理和身份验证

2.3.4. 在自动化中心中创建自定义存储库

当使用 Red Hat Ansible Automation Platform 创建存储库时,您可以将存储库配置为私有,或者在搜索结果中隐藏它。

流程

  1. 登录到 Ansible Automation Platform。
  2. 在导航面板中,选择 Automation Content Repositories
  3. Create repository
  4. 输入 存储库的名称。
  5. Description 字段中,描述存储库的用途。
  6. 要在每次进行更改时保留较早版本的存储库,请在带有 Retained 版本号的 字段中输入一个图表。保留的版本数量范围是 0 到无限。要保存所有版本,将此设置为 null。

    注意

    如果对自定义存储库有更改有问题,您可以恢复到保留的不同存储库版本

  7. Pipeline 字段中,为存储库选择一个管道。此选项定义可以将集合发布到存储库的人员。

    Staging
    任何人都被允许将自动化内容发布到存储库中。
    已批准
    需要添加到此存储库的集合,才能通过暂存存储库通过批准过程进行。如果启用了自动批准,任何上传到 staging 存储库的集合将自动提升到所有批准的存储库。
    None
    对存储库具有权限的用户可以直接发布到存储库,存储库不属于批准管道。
  8. 可选: 要从搜索结果中隐藏存储库,选择 Hide from search
  9. 可选: 要使存储库私有,请选择 Make private。这会防止没有权限的用户查看存储库。
  10. 要将远程存储库中的内容同步到此存储库中,在 Remote 字段中选择包含您要包含在自定义存储库中的集合的远程。如需更多信息,请参阅存储库同步
  11. Create repository

后续步骤

  • 创建存储库后,会显示详情页面。

    在这里,您可以提供对存储库的访问、检查或添加集合,并使用自定义存储库的保存版本。

2.3.5. 提供对自定义自动化中心存储库的访问权限

默认情况下,私有存储库和自动化内容集合在系统的所有用户中是隐藏的。所有用户都可以查看公共存储库,但不能修改。使用这个流程提供对自定义存储库的访问。

流程

  1. 登录到私有自动化中心。
  2. 在导航面板中,选择 Automation Content Repositories
  3. 单击列表中的存储库,再选择 Team Access 选项卡。
  4. Add roles
  5. 选择您要授予角色的团队,然后点 Next
  6. 选择您要应用到所选团队的角色,然后点 Next
  7. 查看您的选择并点击 完成
  8. 单击 Close 以完成该过程。

有关实施用户访问的更多信息,请参阅 访问管理和身份验证

2.3.6. 在自动化中心存储库中添加集合

创建存储库后,您可以开始向其中添加自动化内容集合。

流程

  1. 在导航面板中,选择 Automation Content Repositories
  2. 点击列表中的存储库。
  3. 选择 Collection versions 选项卡。
  4. Add Collections 并选择您要添加到存储库的集合。
  5. Select

2.3.7. 恢复到不同的自动化中心存储库版本

当从存储库添加或删除自动化内容集合时,会创建一个新版本。如果对存储库的更改造成问题,您可以恢复到以前的版本。恢复是一种安全操作,且不会从系统中删除集合,而是更改与存储库关联的内容。保存的版本数量在创建存储库时由 Retained number of versions 设置定义。

流程

  1. 登录到 Ansible Automation Platform。
  2. 在导航面板中,选择 Automation Content Repositories
  3. 单击列表中的存储库,然后选择 Versions 选项卡。
  4. 找到您要恢复到的版本,然后点击 More Actions 图标 channel,然后选择 Revert to this version
  5. 选中确认您的选择,然后单击 Revert to repository version

2.3.8. 在自动化 hub 中管理远程配置

您可以将远程配置设置为运行自动化中心的任何服务器。远程配置允许您从外部集合源将内容同步到自定义存储库。

2.3.8.1. 在自动化中心中创建远程配置

您可以使用 Red Hat Ansible Automation Platform 创建到外部集合源的远程配置。然后,您可以将这些集合中的内容同步到自定义存储库中。

流程

  1. 登录到 Ansible Automation Platform。
  2. 在导航面板中,选择 Automation Content Remotes
  3. 单击 Create Remote
  4. 为远程配置输入一个名称
  5. 输入远程服务器的 URL,包括特定存储库的路径。

    注意

    要查找远程服务器 URL 和存储库路径,请导航到 Automation Content Repositories,选择 More Actions 图标 WWN,然后选择 Copy CLI 配置

  6. 输入访问外部集合所需的 TokenUsernamePassword,将凭证配置为远程服务器。

    注意

    要从导航面板中生成令牌,请选择 Automation Content API token,点 Load token 并复制载入的令牌。

  7. 要从 console.redhat.com 访问集合,输入 SSO URL 以登录到身份提供程序(IdP)。
  8. 选择或创建 要求文件 来标识要与自定义存储库同步的集合和版本范围。例如,只下载 kubernetes 和 AWS 集合版本 5.0.0 或更高版本,要求文件类似如下:

    Collections:
     	  - name: community.kubernetes
    	  - name: community.aws
     		version:”>=5.0.0”
    注意

    所有集合依赖项都会在同步过程中下载。

  9. 可选: 要进一步配置远程,请使用 Show advanced options 下的选项:

    1. 如果您的机构有一个公司代理,请输入 Proxy URL, Proxy UsernameProxy Password
    2. 使用 TLS 验证复选框启用或禁用传输层安全性。
    3. 如果验证需要数字证书,输入客户端密钥客户端证书
    4. 如果您的服务器使用自签名 SSL 证书,在 CA certificate 字段中输入用于身份验证的 PEM 编码客户端证书。
    5. 要加快下载此远程集合的速度,在 Download concurrency 字段中指定可下载的集合数量。
    6. 要限制此远程上每秒的查询数量,指定 Rate Limit

      注意

      有些服务器可以设置特定的速率限制,如果超过,同步会失败。

2.3.8.2. 提供对远程配置的访问

创建远程配置后,您必须先为其提供访问,然后任何人都可以使用它。

流程

  1. 登录到 Ansible Automation Platform。
  2. 在导航面板中,选择 Automation Content Remotes
  3. 单击列表中的存储库,然后选择 Team Access 选项卡。
  4. Add roles
  5. 选择您要授予角色的团队,然后点 Next
  6. 选择您要应用到所选团队的角色,然后点 Next
  7. 查看您的选择并点击 完成
  8. 单击 Close 以完成该过程。

2.3.9. 在自动化中心中同步软件仓库

您可以通过将存储库从一个自动化中心同步到另一个自动化中心,将相关的自动化内容集合分发到您的用户。为确保您有最新的集合更新,请定期将自定义存储库与远程同步。

流程

  1. 登录到 Ansible Automation Platform。
  2. 在导航面板中,选择 Automation Content Repositories
  3. 在列表中找到您的存储库并点 More Actions 图标 WWN,然后选择 Sync repository

    配置的远程中的所有集合都下载到您的自定义存储库中。要检查集合同步的状态,请从导航面板中选择 Automation Content Task Management

    注意

    要将存储库同步限制为远程中的特定集合,您可以使用 requirements.yml 文件标识要拉取的特定集合。如需更多信息,请参阅创建远程

其他资源

有关使用要求文件的更多信息,请参阅创建要求文件

2.3.10. 在自动化中心中导出和导入集合

Ansible 自动化中心(Automation hub)在存储库中存储自动化内容集合。这些集合由自动化内容创建者版本。同一集合的许多版本可以同时存在于同一或不同的存储库中。

集合存储为可导入和导出的 .tar 文件。此存储格式可确保您导入到新存储库的集合与最初创建和导出的集合相同。

2.3.10.1. 在自动化中心中导出自动化内容集合

完成集合后,您可以将其导入到可在您的机构中的其他位置。

流程

  1. 登录到 Ansible Automation Platform。
  2. 在导航面板中,选择 Automation Content CollectionsCollections 页面显示所有存储库中的所有集合。您可以搜索特定的集合。
  3. 点击您要导出的集合。此时会打开集合详情页面。
  4. Install 选项卡中,选择 Download tarball。.tar 文件下载到您的默认浏览器下载文件夹。现在,您可以将其导入到您选择的位置。

2.3.10.2. 在自动化中心中导入自动化内容集合

作为自动化内容创建者,您可以导入要在自定义存储库中使用的集合。要使用自定义存储库中的集合,您必须首先将集合导入到您的命名空间中,以便自动化中心管理员可以批准它。

流程

  1. 登录到 Ansible Automation Platform。
  2. 在导航面板中,选择 Automation Content NamespacesNamespaces 页面显示所有可用的命名空间。
  3. 选择您要添加集合的命名空间。
  4. 选择 Collections 选项卡。
  5. Upload Collection
  6. 输入或浏览以选择集合文件。
  7. 选择存储库管道来添加集合。选择是 Staging reposRepositories,没有管道
  8. Upload collection

    Imports 屏幕显示测试概述,并在集合上传成功或失败时通知您。要查找导入,请在命名空间中点 More Actions 图标 3.3.0 并选择 Imports

    注意

    如果集合没有被批准,它不会显示在已发布的存储库中。

其他资源

  • 有关集合和存储库批准的更多信息,请参阅批准管道
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.