发行版镜像

简介

oepkgs.net 作为软件分发平台,目前使用站点 https://repo.oepkgs.net 来分发软件,其中也包括发行版镜像(Image)的构建。

工程师可以使用此平台构建已经支持的发行版构建。如果是官方认证的相应发行版维护人,构建的相应发行版镜像会通过共公仓库进行公开分发。

基本构建步骤

构建发行版镜像(Image)与 RPM 包是基本一样的,唯一的不同是触发编译的 REPO 不是 SRPM REPO,而是 kickstart 文件的 REPO。

完成注册流程

通过任务管理文档管理自己的仓库和任务。

  • 在用户工程仓库中,创建任务管理 JSON 文件
    • 编译发行版镜像的关键在与任务的 JSON 文件内容和使用的 kickstart 文件.

    • JSON 文件仓库由工程师注册后自己管理和维护,路径和文件命名为建议。JSON文件本身格式需要严格遵守。

└── projects
    └── openEuler (发行版或者OS名称)
        └── 20.03-LTS (发行版或者os版本号)
            └── archive (软件包归类)
            └── image (发行版镜像归类)
                └── openEuler_20.03-LTS_image.json (工程描述文件)

openEuler 任务 JSON 文件的范例:

{
  "job": "openEuler-image-demo",
  "scm_repo": "https://gitee.com/ocean8192/openeuler-image-kickstarts.git",
  "branch": "master",
  "OS": "openEuler",
  "version": "20.03-LTS",
  "build_type": "Image",
  "package_name": "openEuler-riscv64-nano-2003",
  "project_token": "************************",
  "build_tag": "toe1",
  "yum_repo": "test_repo",
  "user": "ocean-killer",
  "scratch_build": 1,
  "WebHook_URL": "https://jenkins.oepkgs.net/gitee-project/ocean-killer_openEuler-image-demo"
}

关键在于:

  • build_type: 当前任务的类型 Image。

  • scm_repo: 当前任务使用的 SCM 仓库的地址是一个存放 kickstart 文件的仓库地址。

  • package_name: 当前生成 image 使用的 .ks 文件除去 .ks 后缀的部分。

最终生成的 Image :使用控制 JSON 文件中的 package_name 字段作为 image 件名。

openEuler 任务 kickstart 文件的范例:

openEuler-riscv64-nano-2003-d1.ks

根据 Gitee Webhook 配置指南设置Webhook触发。

在配置完成后,就可以根据构建流程触发编译了。

其他配置和操作均和普通的 Package 编译一致。

TODO

当前完成的镜像是放在koji中的,工程师是可以通过URL自行下载的。后期会支持将镜像放到更适合长期保存的地方。

Copyright © oepkgs.net All rights reserved.

版权所有 © oepkgs.net 保留所有权利

中国科学院软件研究所openEuler 社区共同发起并提供支持

京ICP备05046678号-13

Email: support(at)oepkgs.net