diff --git a/README.md b/README.md index 9dbb184ba2691c40f0fb26ebfece8ad8350c7ea6..9a439f9d40ed5c01283857776afc3da78ef855c7 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,7 @@ + 《[205 - 开发过程不完全指南](/articles/205-ready-for-first-task.md)》 + 《[206 - 提交 PR 操作指南](/articles/206-submit-codes-via-gitee-pr.md)》 + 《[207 - 让你的代码更快被接受的N个建议](/articles/207-how-to-get-codes-merged.md)》 + + 《[208 - 使用ABS平台轻松胜任Anolis OS开发工作](/articles/208-how-to-build-package-via-ABS.md)》 3. 进阶开发 + 《[301 - Review 代码指南](/articles/301-join-code-review.md)》 + 《[302 - 发行版构建指南](/articles/302-join-os-package-build.md)》 diff --git a/articles/208-how-to-build-package-via-ABS.md b/articles/208-how-to-build-package-via-ABS.md new file mode 100644 index 0000000000000000000000000000000000000000..3c6ffd2452d1ac2b096dfa1ccce5e150888283ae --- /dev/null +++ b/articles/208-how-to-build-package-via-ABS.md @@ -0,0 +1,82 @@ +# 使用ABS平台轻松胜任Anolis OS开发工作 +## Anolis 源码仓库结构 +Anolis OS代码仓库的所在位置是: [https://gitee.com/src-anolis-os](https://gitee.com/src-anolis-os), 如下图,在仓库页面中可以对所有的软件包进行搜索;以pam软件包为例进行说明; + +![src-anolis-os](../images/208-anolis-src-anolis-os.png) + +点击进入pam软件包源码仓库,如下图。在针对某个软件包开发之前需要对软件包进行fork操作; + +![pakcage-fork](../images/208-anolis-package-fork.png) + +在针对某个软件包开发之前需要对软件包进行fork操作;fork操作会将当前软件包复制一份到开发者仓库中,这样开发者进行修改时就不会影响源位置的代码; + +![fork-workspace](../images/208-anolis-fork-workspace.png) + +点击fork后,平台弹出一个对话框,选择个人空间后,单击“确认”;fork操作完成后会跳转到如下内容,这个仓库看起来与刚才的仓库没有差异,但是注意左上角有“forked from .....”字样,这意味着这个仓库是派生于一个“上游”仓库的; + +![froked-from](../images/208-package-forked-from.png) + +## 开始构建一个自己的软件包 +ABS(Anolis Build Service),通过ABS平台构建一个龙蜥社区软件包是十分方便快捷的,ABS平台为用户提供了一站式,操作系统软件包开发体验,结合了龙蜥自研的构建系统,ABS平台为用户准备了个人空间,软件包搜索,镜像构建,软件包发布,软件仓库自动化创建等非常实用的功能,大大提升开发者在操作系统研发过程中的效率,统一的构建方式也减少了由于构建环境差异导致的错误; + +那么我们一起来看看ABS平台的具体功能吧!ABS位于[这里](https://abs.openanolis.cn/all_project); + +## ABS平台 +这是ABS主界面,右上角的登录按钮可以帮助你体验完整的功能,请先行登录; + +![login-page](../images/208-abs-login-page.png) + +登录以后,进入个人空间; + +![workspace](../images/208-abs-personal-workspace.png) + +## ABS项目 +在个人空间中,我们可以建立不同的软件包项目; + +![create-project](../images/208-abs-create-project.png) + +给项目取一个,好记的名字! + +![new-project](../images/208-abs-named-new-project.png) + +创建好以后,会在公开项目列表中看到这个新建立的项目; + +![project-list](../images/208-abs-project-list.png) + +项目是软件包的集合,也可以理解为是软件包的容器;软件包的构建从创建一个项目开始! + +![import-package](../images/208-abs-import-a-package.png) + +在第一部分复制好的URL可以粘贴在这里喽!注意,分支名称需要保持a23,以便于在Anolis 23系统上进行软件包的编译; + +![new-package](../images/208-abs-set-url-for-new-package.png) + +## ABS软件包构建 +当添加好一个软件包后,软件包构建就可以开始了,不过在正式开始之前,需要确认配置是否正确,如图: + +![project-configure](../images/208-abs-project-configure.png) + +点击屏幕右侧,项目配置按钮,打开项目配置,使能Anolis 23项目; + +![Anolis23-configuration](../images/208-abs-anolis23-configuration.png) + +配置好以后点击,构建; + +![build-button](../images/208-abs-button-for-build-package.png) + +进入pam软件包仓库,可以看到对应的软件包编译信息; + +![package-on-the-list](../images/208-abs-package-on-the-list.png) + +![package-build-status](../images/208-abs-package-build-status.png) + +## ABS软件包仓库 + +![package-repo-info](../images/208-abs-package-repo-info.png) + +## 使用对应的软件包 + +当软件包编译好以后会生成对应的软件包仓库,只要依据配置写好,就可以完成软件包仓库配置,并开始使用阁下亲手编译的软件包; + +![Build-rpm-yum-repo](../images/208-abs-build-rpm-yum-repo.png) + diff --git a/images/208-abs-anolis23-configuration.png b/images/208-abs-anolis23-configuration.png new file mode 100644 index 0000000000000000000000000000000000000000..2aed84a32360a852a7fb961496b97f996e4a0174 Binary files /dev/null and b/images/208-abs-anolis23-configuration.png differ diff --git a/images/208-abs-build-rpm-yum-repo.png b/images/208-abs-build-rpm-yum-repo.png new file mode 100644 index 0000000000000000000000000000000000000000..71ce580924ecb59e10d4b0681f711e1ae9378878 Binary files /dev/null and b/images/208-abs-build-rpm-yum-repo.png differ diff --git a/images/208-abs-button-for-build-package.png b/images/208-abs-button-for-build-package.png new file mode 100644 index 0000000000000000000000000000000000000000..c77ddc493de0e22696f82568cd8210c0ab4693ee Binary files /dev/null and b/images/208-abs-button-for-build-package.png differ diff --git a/images/208-abs-create-project.png b/images/208-abs-create-project.png new file mode 100644 index 0000000000000000000000000000000000000000..4f580c88bc05231fceaed661f94061ca4dc34484 Binary files /dev/null and b/images/208-abs-create-project.png differ diff --git a/images/208-abs-import-a-package.png b/images/208-abs-import-a-package.png new file mode 100644 index 0000000000000000000000000000000000000000..f04d836001168d2a74c2ed6cd71fe690f91b8218 Binary files /dev/null and b/images/208-abs-import-a-package.png differ diff --git a/images/208-abs-login-page.png b/images/208-abs-login-page.png new file mode 100644 index 0000000000000000000000000000000000000000..b91be3bfd6750bb07cece081334fb58c8955969b Binary files /dev/null and b/images/208-abs-login-page.png differ diff --git a/images/208-abs-named-new-project.png b/images/208-abs-named-new-project.png new file mode 100644 index 0000000000000000000000000000000000000000..9d1ae375642f516a7c8071d8e177f2c8876713d4 Binary files /dev/null and b/images/208-abs-named-new-project.png differ diff --git a/images/208-abs-package-build-status.png b/images/208-abs-package-build-status.png new file mode 100644 index 0000000000000000000000000000000000000000..54ea4596a3786fd3b67cc91ff82d3b6ce4ae38aa Binary files /dev/null and b/images/208-abs-package-build-status.png differ diff --git a/images/208-abs-package-on-the-list.png b/images/208-abs-package-on-the-list.png new file mode 100644 index 0000000000000000000000000000000000000000..60d786b75d3a02c4defd3e7efe503b07ddb3580d Binary files /dev/null and b/images/208-abs-package-on-the-list.png differ diff --git a/images/208-abs-package-repo-info.png b/images/208-abs-package-repo-info.png new file mode 100644 index 0000000000000000000000000000000000000000..af851b50cbfd53b1c8462cf9373470b32d5ec9bb Binary files /dev/null and b/images/208-abs-package-repo-info.png differ diff --git a/images/208-abs-personal-workspace.png b/images/208-abs-personal-workspace.png new file mode 100644 index 0000000000000000000000000000000000000000..68f08b380ca5557b7b3cc5e7bd23f1b28da62ad5 Binary files /dev/null and b/images/208-abs-personal-workspace.png differ diff --git a/images/208-abs-project-configure.png b/images/208-abs-project-configure.png new file mode 100644 index 0000000000000000000000000000000000000000..f79bd2d069e74677f0382b2245fb0a6f4f52c1da Binary files /dev/null and b/images/208-abs-project-configure.png differ diff --git a/images/208-abs-project-list.png b/images/208-abs-project-list.png new file mode 100644 index 0000000000000000000000000000000000000000..de7bd7d00675c1b59074b478aab8c1336cb4c3f7 Binary files /dev/null and b/images/208-abs-project-list.png differ diff --git a/images/208-abs-sert-url-for-new-package.png b/images/208-abs-sert-url-for-new-package.png new file mode 100644 index 0000000000000000000000000000000000000000..0783867e9ce096a13d0f319580ad18428e752048 Binary files /dev/null and b/images/208-abs-sert-url-for-new-package.png differ diff --git a/images/208-abs-set-url-for-new-package.png b/images/208-abs-set-url-for-new-package.png new file mode 100644 index 0000000000000000000000000000000000000000..e0efacd68de3560833fbabc20aa98b81e734f433 Binary files /dev/null and b/images/208-abs-set-url-for-new-package.png differ diff --git a/images/208-anolis-fork-workspace.png b/images/208-anolis-fork-workspace.png new file mode 100644 index 0000000000000000000000000000000000000000..f79bd2d069e74677f0382b2245fb0a6f4f52c1da Binary files /dev/null and b/images/208-anolis-fork-workspace.png differ diff --git a/images/208-anolis-package-fork.png b/images/208-anolis-package-fork.png new file mode 100644 index 0000000000000000000000000000000000000000..caf406d8e1996bdca519570d9a33c9c66d9dff61 Binary files /dev/null and b/images/208-anolis-package-fork.png differ diff --git a/images/208-anolis-src-anolis-os.png b/images/208-anolis-src-anolis-os.png new file mode 100644 index 0000000000000000000000000000000000000000..ebfcfdb9c0f44014a2daf495eec67a073b6e1cab Binary files /dev/null and b/images/208-anolis-src-anolis-os.png differ diff --git a/images/208-package-forked-from.png b/images/208-package-forked-from.png new file mode 100644 index 0000000000000000000000000000000000000000..3698fb1bb11ba343aef15478ed694f28ff64320e Binary files /dev/null and b/images/208-package-forked-from.png differ