[FrontPage] [TitleIndex] [WordIndex

This is a read-only archived version of wiki.centos.org

整个过程中,有两个阶段可以让组件获更广泛的应用。测试内容可以发放到 buildlogs.centos.org 分发网络供开发者及 CI 系统应用。已适合发行的内容可以通过 mirror.centos.org 上的 SIG 专用目录供用户应用。

首先,决定软件库在 mirror.centos.org 上的最终发行位置。你可以在 buildlogs.centos.org 上采用同一路径。

推送测试内容至 Buildlogs

由 2020 年 3 月 25 日起实施的新签署程序只须将组件标签进 -testing 软件库便足够了。

每当你把新建的组件标签为 -testing,便会触发 koji 上的 distRepo 任务并将它推进 buildlogs.centos.org 假设你的标签是 cloud7-openstack-train-testing,而你启用了三个结构(x86_64、ppc64le 及 aarch64),组件就会出现在

在 mirror.centos.org 发行内容

1. 在镜像网络上申请空间的步骤

  1. 请于 https://git.centos.org/centos/cbs-content-control 创建一个 Pull Request

  2. 你需要以下数据:
    • SIG 名称
    • 最终软件库内要整合的 CBS 发行标签
    • 在 mirror.centos.org 内的最终目录位置
    • 预期的格式如下:

          <标签>|<目的地路径>|<执行 createrepo 的目录>|<mirror.centos.org 上的目的地>
  3. 以下是一个样例。你可以在提交日志查找其它例子。

cloud7-openstack-rocky-release/|7/cloud/x86_64/openstack-rocky/|7/cloud/x86_64/openstack-rocky/|7/cloud/x86_64/openstack-rocky/
cloud7-openstack-rocky-release/|7/cloud/ppc64le/openstack-rocky/|7/cloud/ppc64le/openstack-rocky/|7/cloud/ppc64le/openstack-rocky/

值得留意的是针对 CentOS 7,x86_64 会被推送到 mirror.centos.org/centos/$path,而其它结构如 ppc64le/ppc64/aarch64 会被推送到 mirror.centos.org/altarch/$path。你可以运用 $contentdir 这个 yum 变量在你的 .repo 档内选择分支(centos 或 altarch)。

另外值得留意的是逢星期一至四,签署及推送往 mirror.centos.org 只会每日进行一次,时间是上午九时 UTC(处理完成后便是 altarch 的推送时间)

要是你在需要协助,请于 https://bugs.centos.org 针对 Buildsys 项目的 Community Build Service 组件创建一个错误报告。

centos-release 组件

若要放送 SIG 组件给用户,yum 的 repo 档必须收录在一个名为 centos-release-<组件> 的组件内。此 centos-release-<组件> 组件将会在 CentOS Extras 软件库内发行。该 .repo 档亦应包含 gpg 公钥,以便能验证从镜站点下载的资源。

举例说,云端 SIG 利用 centos-release-openstack-rocky 内的软件库定义档来发行 OpenStack Rocky。

1. 创建 centos-release-* 组件
  1. 如果你是一个新的 SIG,但仍未被编配 SIG gpg 金钥(公钥应列于 https://www.centos.org/keys/#community-driven-project-keys),你必须在 https://pagure.io/centos-infra/issues/ 创建错误报告。

当你收到 gpg 公钥后,便可以开始建设 centos-release--* sig 组件。

  1. 为 centos-release-<SIG> 组件申请于 https://git.centos.org 上创建一个源码库(例如 https://git.centos.org/rpms/centos-release-openstack):请在 https://pagure.io/centos-infra/issues/ 提交申请

  2. 在 .repo 档内设置你的内容。举个例说,centos-release-openstack-rocky 可以有下列的主软件库定义:
    [centos-openstack-rocky]
    name=CentOS-7 - OpenStack rocky
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=cloud-openstack-rocky
    #baseurl=http://mirror.centos.org/$contentdir/$releasever/cloud/$basearch/openstack-rocky/
    gpgcheck=1
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud
  3. repo 档内亦可以有其它软件库的定义,例如 testing、debuginfo 及 sources。参考其它 centos-release-* 作为例子。 以上例子利用 mirrorlist.centos.org 来选择最近的外置镜站。通过 mirrorlist.centos.org 来取得镜站是首选的方法,因为它提供最快的镜站给用户,并减低 mirror.centos.org 的负荷。作为后备方案,baseurl 指向由 CentOS 控制的 mirror.centos.org 并被诠释掉。留意 $contentdir 是用来选择 centos 或 altarch。

    建设 mirrorlist.centos.org 软件库参数的方法是从路径删除结构,然后以破折号代替斜杠。譬如,cloud/x86_64/openstack-rocky 内的文件来自名为 cloud-openstack-rocky 的软件库,而 sclo/x86_64/rh/rh-python36 来自 sclo-rh-rh-python36。请确保你的 .repo 档含有正确的路径及软件库名称。mirror.centos.org 上的内容每三个小时便会扫描一次,任何新的软件库会自动被加进镜站的搜查数据库。

  4. 如何你是首次创建组件,请将 centos-release-mycomponent 加进 Extras 的标签内
    [bstinson@localhost centos-release-mycomponent]$ cbs add-pkg --owner=bstinson core7-extras-common-candidate centos-release-mycomponent
    [bstinson@localhost centos-release-mycomponent]$ cbs add-pkg --owner=bstinson core7-extras-common-testing centos-release-mycomponent
    [bstinson@localhost centos-release-mycomponent]$ cbs add-pkg --owner=bstinson core7-extras-common-release centos-release-mycomponent
  5. 在 CBS 内针对 Extras 标签创建组件
    [bstinson@localhost centos-release-openstack-mycomponent]$ cbs build core7-extras-common-el7.centos centos-release-mycomponent-0.0.1-1.rpm
  6. 创建一个错误报告,申请把内容同步至 mirror.centos.org(见 zh/SIGGuide#MirrorSpace

  7. 为建设加上 testing 标签
    [bstinson@localhost centos-release-openstack-mycomponent]$ cbs tag-build core7-extras-common-testing centos-release-mycomponent-0.0.1-1
  8. 利用 yum install 测试从新软件库安装组件

  9. 准备就绪后,为建设加上 release 标签
    [bstinson@localhost centos-release-openstack-rocky]$ cbs tag-build core7-extras-common-release centos-release-mycomponent-0.0.1-1

2. 有关 centos-release-* 组件的一些指引
  • centos-release-* 组件应该被创建为 noarch RPM

2023-09-11 07:24