在自动化 hub 中管理软件仓库

Red Hat Ansible Automation Platform 2.4

在自动化中心中创建和管理自定义软件仓库。

Red Hat Customer Content Services

摘要

本指南介绍了如何在自动化中心的自定义软件仓库之间创建、编辑、删除和移动内容。

前言

Red Hat Automation Hub 包括仓库管理。它允许您创建、编辑、修改和删除存储库。

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。有关更多详情,请参阅我们的首席技术官 Chris Wright 提供的消息

对红帽文档提供反馈

我们非常感谢您对我们的技术内容提供反馈,并鼓励您告诉我们您的想法。如果您想添加评论,提供见解、纠正拼写错误甚至询问问题,您可以在文档中直接这样做。

注意

您必须有一个红帽帐户并登录到客户门户网站。

要从客户门户网站提交文档反馈,请执行以下操作:

  1. 选择 Multi-page HTML 格式。
  2. 点文档右上角的 反馈 按钮。
  3. 突出显示您要提供反馈的文本部分。
  4. 点高亮文本旁的 添加反馈 对话框。
  5. 在页面右侧的文本框中输入您的反馈,然后单击 Submit

每次提交反馈时,我们都会自动创建跟踪问题。打开在点 Submit 后显示的链接,并开始监视问题或添加更多注释。

第 1 章 仓库管理

Automation hub 包括两种类型的软件仓库,您可以发布内容:

Staging 软件仓库
具有命名空间上传权限的任何用户都可以将内容发布到这些存储库中。这些存储库中的内容在搜索页面中不可用,而是显示在批准仪表板中供管理员进行验证。
自定义软件仓库
对存储库具有写入权限的任何用户都可以将内容发布到这些存储库。这些存储库不会在批准仪表板中显示。它们可以显示在搜索页面上,具体取决于搜索是否由存储库的所有者启用。自定义软件仓库可以是私有存储库,其中只有具有查看权限的用户才能查看它们,或者所有用户都可以看到它们的公共存储库。

staging 存储库使用 pipeline=staging 标签标记。默认情况下,Automation hub 附带了一个 staging 存储库,当没有指定存储库来上传集合时会自动使用。但是,用户可以在存储库 创建期间创建新的暂存存储库

1.1. 批准管道

Automation hub 允许您将集合批准到标记为 pipeline=approved 标签的任何存储库中。默认情况下,自动化中心附带了一个用于批准的内容的存储库,但您可以选择从存储库创建屏幕中添加更多。带有此标签的存储库没有资格直接发布,集合必须来自其中一个 staging 存储库。

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

当管理员导航到批准仪表板时,他们可以查看上传到任何 staging 存储库中的集合。从此处,他们会看到一个批准按钮。点 Approve 显示批准的存储库列表。从此列表中,管理员可以选择应当提升内容的 1 个或更多存储库。

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

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

1.2. 基于角色的访问控制

基于角色的访问控制(RBAC)会根据定义的角色限制用户访问自定义存储库。默认情况下,用户可以在自动化中心中查看所有公共存储库,但除非他们有明确的权限,否则他们无法修改它们。这对存储库上的其他操作是一样的。例如,删除用户的权限会撤销他们从自定义存储库下载内容的能力。有关 在自动化中心中管理用户访问权限 的信息,请参阅为本地自动化中心配置用户访问。

1.3. 基本存储库管理

通过基本存储库管理,您可以在存储库之间创建、编辑、删除和移动内容。

1.3.1. 创建软件仓库

使用这个流程创建存储库。

流程

  1. 登录到 Red Hat Ansible Automation Platform。
  2. 导航到 Automation HubRepositories
  3. 单击 Add repository
  4. 输入 存储库名称
  5. 输入指示存储库用途的 Description
  6. 要在每次进行更改时保留您的仓库的早期版本,请选择 保留数量。保留的版本数量可在 0 到无限 之间任意位置。要保存所有版本,请将此设置为 null。

    注意

    如果对自定义存储库有变化的问题,保留版本允许您 恢复到不同的存储库版本

  7. 为存储库选择 Pipeline。可用的选项包括:

    Staging
    任何人都被允许将内容发布到存储库中。
    已批准
    需要添加到此软件仓库的任何内容都需要通过 staging 存储库进行批准过程。启用自动批准后,任何上传到 staging 存储库的集合将自动提升到所有批准的存储库。
    None
    任何具有存储库权限的用户都可以直接发布到存储库,它不是批准管道的一部分。
  8. 要从搜索结果中隐藏存储库,请从 搜索中选择 Hide。默认选择此项。
  9. 要使存储库私有,请选择 Make private。这会隐藏没有权限查看存储库的用户。
  10. 要将内容从远程同步到此存储库,请选择 Remote 并选择包含您要包含在自定义存储库中内容的远程。如需更多信息,请参阅 存储库同步
  11. 点击 Save

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

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

1.3.2. 提供对存储库的访问

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

流程

  1. 登录到 Red Hat Ansible Automation Platform。
  2. 导航到 Automation HubRepositories
  3. 在列表中找到您的仓库并点击 more actions ,然后选择 Edit
  4. 选择 Access 选项卡。
  5. Repository owners 选择一个组。

    有关实施 用户访问的信息,请参阅为本地自动化中心 配置用户访问。

  6. 选择您要为所选组分配的角色。
  7. 点击 Save

1.3.3. 将集合添加到存储库

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

流程

  1. 登录到 Red Hat Ansible Automation Platform。
  2. 导航到 Automation HubRepositories
  3. 在列表中找到您的仓库并点击 more actions ,然后选择 Edit
  4. 选择 Collections version 选项卡。
  5. Add Collection 并选择您要添加到存储库中的集合。
  6. Select

1.3.4. 恢复到不同的存储库版本

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

流程

  1. 登录到 Red Hat Ansible Automation Platform。
  2. 导航到 Automation HubRepositories
  3. 在列表中找到您的仓库并点击 more actions ,然后选择 Edit
  4. 找到您要回滚到的版本,然后点 more actions ,然后选择 Revert to this version
  5. 单击 Revert

第 2 章 远程管理

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

2.1. 基本远程管理

通过基本的远程管理,您可以创建远程配置到外部集合源,并将这些内容从这些集合同步到自定义存储库。

2.1.1. 创建远程

使用这个流程创建到外部集合的远程配置。

流程

  1. 登录到 Red Hat Ansible Automation Platform。
  2. 进入 Automation HubRemotes
  3. 单击 Add Remote
  4. 输入远程配置的名称。
  5. 输入远程服务器的 URL,包括特定存储库的路径。

    注意

    您可以通过进入到 Automation HubRepositories,选择存储库并点 Copy CLI configuration 来获取此信息。

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

    注意

    可以通过进入到 Automation HubAPI 令牌 生成 Token,点 Load token 并复制载入的令牌。

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

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

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

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

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

      注意

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

2.1.2. 提供对远程的访问

创建远程后,您可以通过执行以下操作来提供访问它:

流程

  1. 登录到 Red Hat Ansible Automation Platform。
  2. 进入 Automation HubRemotes
  3. 在列表中找到您的仓库并点击 more actions ,然后选择 Edit
  4. 选择 Access 选项卡。
  5. Repository owners 选择一个组。有关实施 用户访问的信息,请参阅为本地 Automation Hub 配置用户访问。
  6. 为所选组选择适当的角色。
  7. 点击 Save

第 3 章 仓库同步

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

3.1. 基本软件仓库同步

使用这个流程将存储库从一个自动化中心实例同步到另一个自动化中心实例。

流程

  1. 登录到 Red Hat Ansible Automation Platform。
  2. 导航到 Automation HubRepositories
  3. 在列表中找到您的存储库,然后单击 Sync

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

    注意

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

其他资源

有关使用要求文件的更多信息,请参阅 Galaxy 用户指南中的 安装带有要求文件的多个集合

第 4 章 导出和导入集合

Ansible Automation hub 将集合存储在存储库中。这些集合由 curator 版本,因此同一集合的许多版本可以同时存在于同一或不同的存储库中。

集合存储为 tar 文件,可以导入和导出。这样可确保您导入到新存储库的集合与最初创建和导出的集合相同。

4.1. 导出集合

完成集合后,可以将其传送到新的目的地,并分发到机构的其他用户。使用以下步骤导出集合。

流程

  1. 登录到 Red Hat Ansible Automation Platform。
  2. 进入 Automation HubCollections。Collections 页面显示所有仓库中的所有集合,并允许您搜索特定集合。
  3. 选择您要导出的集合。此时会显示集合详情页面。
  4. Installation 选项卡中,选择 Download tarball。tar 文件下载到您的默认浏览器下载文件夹中,并可导入到您选择的位置。

4.2. 导入集合

要导入在自定义存储库中使用的集合,必须将其导入到您的命名空间中并批准。如果集合没有被批准,它不会显示在已发布的存储库中。

流程

  1. 登录到 Red Hat Ansible Automation Platform。
  2. 进入 Automation HubNamespaces。Namespaces 页面显示所有可用的命名空间。
  3. 单击 View Collections
  4. 单击 Upload Collection
  5. 导航到集合 tarball 文件,选择文件并单击 打开
  6. Upload

    My Imports 屏幕提供了测试概述,并通知您集合上传成功或失败。

    注意

    必须在将集合添加到存储库中前批准该集合。有关集合和存储库 批准的更多信息,请参阅批准管道

法律通告

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.