更新时间:2026-02-04 GMT+08:00
分享

通过客户端上传/下载RPM组件

CodeArts Artifact支持与本地RPM客户端对接,用户A可以通过客户端的方式将本地RPM客户端中的私有组件上传至CodeArts Artifact私有依赖库,其他用户再通过客户端的方式从CodeArts Artifact私有依赖库下载用户A上传的RPM组件,实现RPM组件的共享或传递。

RPM组件介绍

RPM(Red Hat Package Manager)是一种用于管理软件包的格式和工具,最初由Red Hat开发,现在广泛应用于多个Linux发行版,如Red Hat Enterprise Linux (RHEL)、Fedora、CentOS、SUSE等。RPM组件(RPM Packages)是一种包含软件和元数据的文件,用于安装、升级和卸载软件包。

约束与限制

不同用户账号的私有依赖库仓库密码不同,当用户以不同账号访问私有依赖库时,如果需要使用仓库密码,则需要在各仓库“操作指导”中重新下载配置文件获取仓库密码。

前提条件

  • 使用Linux系统和yum工具,请确保使用Linux系统,且已安装yum。
  • 创建RPM仓库
  • 需要具备当前仓库的“下载/查看”权限,如需获取“下载/查看”的权限,请参考配置私有依赖库权限配置。

通过客户端上传RPM组件

  1. 检查Linux下是否安装yum工具。

    在Linux主机中输入:
    rpm -qa yum

    如出现如下内容 则证明机器已安装yum

  2. 登录制品仓库,进入RPM私有依赖库。单击页面右侧“操作指导”。
  3. 在弹框中单击“下载配置文件”。
  4. 在Linux主机中执行以下命令,上传RPM组件。

    curl -k -u {{user}}:{{password}} -X PUT https://{{repoUrl}}/{{component}}/{{version}}/ -T {{localFile}}

    其中,“user”、“password”、“repoUrl”来源于上一步下载的配置文件中“rpm上传命令”部分。

    • user:位于curl -u与-X之间、“:”之前的字符串。
    • password:位于curl -u与-X之间、“:”之后的字符串。
    • repoUrl:“https://”与“/{{component}}”之间的字符串。

      “component”、“version”、“localFile”来源于待上传的RPM组件。以组件“hello-0.17.2-54.x86_64.rpm”为例。

      • component:软件名称,即“hello”。
      • version:软件版本,即“0.17.2”。
      • localFile:RPM组件,即“hello-0.17.2-54.x86_64.rpm”。

        完整的命令行如下图所示:

        命令执行成功,进入私有依赖库,可找到已上传的RPM私有组件。

通过客户端下载RPM组件

  1. 使用华为云账号访问CodeArts Artifact的私有依赖库
  2. 在私有依赖库页面选择对应的RPM仓库。
  3. 单击页面右侧“操作指导”。
  4. 在“操作指导”对话框,单击“下载配置文件”,下载RPM私有依赖库配置文件。
  5. 打开配置文件,将文件中所有“{{component}}”替换为上传RPM文件时使用的“{{component}}”值(本文档中该值为“hello”),并删除“rpm上传命令”部分,保存文件。
  6. 将修改后的配置文件保存到Linux主机的“/etc/yum.repos.d/”目录中。

  7. 执行以下命令,下载RPM组件。其中,hello为组件的“component”值,请根据实际情况修改。

    yum install hello

相关文档