工程师操作指南

工程师指在 oepkgs.net 上软件包的维护者

注册

在社区中维护软件包需要先注册成为工程师。注册为工程师需要提供相应信息并通过管理员的审核。注册成功后将有权利使用 oepkgs.net 的服务器构建和分发软件包。

请根据注册流程注册。

管理构建任务

注册成功后,可通过一个托管的构建任务仓库来维护自己的任务和分发仓库。目前该仓库托管在 Gitee 上,并且完全由工程师自己负责建立和维护。并且在注册时将仓库地址和生效分支名称提供给管理员

请根据任务管理文档管理自己的仓库和任务。

触发构建任务

构建任务的运行由任务中注册的源码仓库的改变触发。该触发动作需要用户自己在源代码仓库中根据 Gitee Webhook 配置指南设置正确的 Webhook。

管理个人密码

个人密码用于管理构建任务时的身份验证,需要工程师使用初始化密码来自行设置。初始化密码从管理员处得到,得到初始化密码后,该密码可以使用一次,用于工程师设置自己的密码,

用户工程仓库结构

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

└── projects
    └── openEuler (发行版或者OS名称)
        └── 20.03-LTS (发行版或者os版本号)
            └── archive (软件包归类)
                └── x (软件包名首字母)
                    └── xz (软件包名)
                        └── openEuler_20.03-LTS_archive_xz_job1.json (工程描述文件)

JSON 文件的路径和命名规则建议

这是一般命名和文件组织建议,用户可以有自己的方式和规则,但是需要自己保证生成的构建任务不和已有的任何任务重名。

JSON文件结构说明

所有 project 信息 JSON 文件都需要放在 自己维护的 projects 目录下,建议路径如下,并且任务名称使用该路径组合而成,防止重名:

 projects/<distro_or_OS_name>/<version>/<software_type>/[first_letter_of_software_name]/<software_name>/<job_name>.json

<>: 必须

[]: 可选

  • <distro_or_OS_name>: 发行版或者OS名称
  • < version>: 发行版或者OS版本号
  • <software_type>: 编译的软件类型: Packages, Image, or others.
  • [first_letter_of_software_name]: 如果是上面的类型是 Packages, 为了避免一个目录下存放太多的文件,此层为软件包名的第一个字母。
  • <software_name>: 软件包名
  • <job_name>.json: 任务名,针对同一个软件包可以有多个编译任务配置(源码仓库,分支,软件包仓库等等)。

pmtools 基本用法

pmtools 任务管理

pmtools 是 oepkgs.net 工程师使用的个人编译任务管理工具。

在注册成功后,工程师需要使用此工具管理自己的编译任务,步骤如下:

  1. 先在自己的 projects 仓库中有效分支中添加相应的描述 JSON 文件并 push 到仓库

  2. 使用管理工具 pm_tools 中的 oepkgs_pmtools 将仓库导入:

$ ./oepkgs_pmtools -u username -p passphrase UpdateConfig [-r/--reset] 
  1. 更新服务器 projects 仓库后,可以使用 oepkgs_pmtools 创建,删除和修改 Jenkins 编译任务
$ ./oepkgs_pmtools -u username -p passphrase CreateJob/UpdateJob/DeleteJob --rpath path/to/project_name.json
  1. Jenkins 默认使用创建任务的 SCM 仓库的 PR 或者 push 事件来触发编译,可以通过 oepkgs_pmtools 的 JobInfo 命令看到自己当前已经增加的任务的 WebHook 地址。需要在自己的 Gitee 仓库中增加相应的 Webhook 来触发自动构建动作。
$ ./oepkgs_pmtools -u username -p passphrase JobInfo

pmtools 个人信息维护

工程师首次注册或者要求管理员初始化密码后,将会从管理员处获取一个新的 passphrase ,但此 passphrase 只能用来进行一次成功的修改密码操作。之后使用自己的密码来进行身份认证进行其它操作。

$ ./oepkgs_pmtools -u username -p passphrase passwd -n/--new new-passphrase

Copyright © oepkgs.net All rights reserved.

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

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

京ICP备05046678号-13

Email: support(at)oepkgs.net