跳转到主要内容

DCI下载器模块

项目描述

DCI下载器

dci-downloader是一个有用的工具,可以下载Red Hat产品的最新版本。

TLDR

$ sudo dnf -y install https://packages.distributed-ci.io/dci-release.el8.noarch.rpm
$ sudo dnf -y install dci-downloader
$ source ~/dcirc.sh
$ dci-downloader RHEL-9.2 /tmp/repo

需求

Red Hat SSO

DCI连接到Red Hat SSO。您需要一个Red Hat账户

Remoteci

Remoteci是一个运行RHEL的虚拟机或裸机服务器。您应该检查您的remoteci

  • 正在运行最新的RHEL 8版本。
  • 目标文件夹中应有足够的空闲空间。
  • 应能够访问
    • https://api.distributed-ci.io (443).
    • https://repo.distributed-ci.io (443).
    • https://registry.distributed-ci.io (443).

安装

dci-downloader已打包并作为RPM文件提供。

$ sudo dnf -y install https://packages.distributed-ci.io/dci-release.el8.noarch.rpm
$ sudo dnf -y install dci-downloader

配置

Remoteci创建

DCI连接到Red Hat SSO。您需要使用您的redhat.com SSO账户登录https://www.distributed-ci.io。您的用户账户将在您第一次连接时创建。

首次连接后,您可以创建一个remoteci。转到https://www.distributed-ci.io/remotecis并点击创建新的remoteci按钮。一旦您的remoteci创建成功,您可以在身份验证列中检索连接信息。将这些信息保存到~/dcirc.sh文件中。

到此为止,您可以使用以下命令验证您的凭据

$ source ~/dcirc.sh
$ dcictl remoteci-list

如果您在列表中看到了您的remoteci,那么到目前为止一切运行良好。

主题访问

在使用dci-downloader之前,我们需要检查您有权访问的主题(产品版本)列表

$ source ~/dcirc.sh
$ dcictl topic-list

如果您没有看到任何主题,那么您应该联系Red Hat的EPM,他们将为您提供您需要的主题访问权限。

用法

您现在可以使用dci-downloader下载产品的最新版本。

RHEL示例

示例命令:将最新RHEL-9.2组件下载到/tmp/repo文件夹。

$ dci-downloader RHEL-9.2 /tmp/repo

RHOSP示例

$ dci-downloader OSP16.1 /tmp/repo

dci-downloader还允许将组件关联的容器镜像镜像到本地匿名注册表中。

$ dci-downloader OSP16.1 /tmp/repo --registry local_registry_host:5000

ℹ 注意:除了使用dci-openstack-agent之外,提供可工作的匿名注册表是用户的责任。如果需要,可以通过在容器中使用Docker Distribution注册表来简单设置一个。

$ podman run --rm -p 5000:5000 registry:2

ℹ 注意:目前dci-downloader不会在注册表上清理/清除/取消标记任何镜像,直到提供合适的解决方案之前,这项责任由用户承担。

选项

默认情况下,dci-downloader将下载x86_64架构的所有变体,不包括调试RPMs。

下载其他架构

要下载其他架构,您可以使用--arch选项指定这些架构

下载RHEL-9.2主题的x86_64和ppc64le架构

$ dci-downloader RHEL-9.2 /tmp/repo --arch x86_64 --arch ppc64le

特定变体

要仅下载特定变体,您可以使用--variant指定这些变体

仅下载AppStream和BaseOS变体

$ dci-downloader RHEL-9.2 /tmp/repo --variant AppStream --variant BaseOS

过滤器

默认情况下,dci-downloader下载与主题关联的最新组件。但如果你想过滤这些组件,你可以使用--filter <type>--filter <type>:<tag>选项。

仅下载最新的RHEL-9.2 compose

$ dci-downloader RHEL-9.2 /tmp/repo --filter=compose

仅下载带有标签nightly的最新RHEL-9.2 compose

$ dci-downloader RHEL-9.2 /tmp/repo --filter=compose:nightly

下载整个compose

要下载所有内容,您可以在命令中添加--all标志

$ dci-downloader RHEL-9.2 /tmp/repo --all

调试RPMs

要下载调试RPMs,您可以在命令中添加--debug标志

下载带有调试RPMs的RHEL-9.2 compose

$ dci-downloader RHEL-9.2 /tmp/repo --debug

仅下载指定的软件包

要下载命令行上指定的软件包,请使用--package-filter标志

下载RHEL-8.8的ppc64le架构的所有内核和glibc软件包

$ dci-downloader RHEL-8.8 /tmp --variant BaseOS --arch ppc64le --package-filter=kernel --package-filter=glibc

设置文件

您可以使用设置文件将参数发送到参数化dci-downloader。

使用--settings参数

$ dci-downloader --settings "/etc/dci-rhel-agent/settings.yml"

设置.yml文件中的所有设置将覆盖cli参数。

设置文件的示例

download_folder: /tmp/repo
topics:
  - name: RHEL-9.2
    filters:
      - type: compose
        tag: nightly
  - name: RHEL-8.6
    filters:
      - type: compose
        tag: milestone
    archs:
      - ppc64le
    variants:
      - AppStream
      - name: BaseOS
        with_debug: true

代理

如果您正在使用代理,只需添加指向您的代理的HTTP_PROXYHTTPS_PROXY环境变量。

许可协议

Apache License, Version 2.0(见LICENSE文件)

帮助

如果某些功能没有按预期工作,请确保您安装了最新版本

$ dci-downloader --version
$ dci-downloader --help

要联系DCI,请参阅问题和帮助

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

dci-downloader-3.2.0.post202409120927.tar.gz (20.0 kB 查看哈希值)

上传时间: 源代码

构建分发

dci_downloader-3.2.0.post202409120927-py3-none-any.whl (21.4 kB 查看哈希值)

上传时间: Python 3

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面