From a734fa8ab7b4669dfa5d84c8fd32c371a38dd5b5 Mon Sep 17 00:00:00 2001 From: chong_W <15229716099@163.com> Date: Tue, 13 Apr 2021 16:37:31 +0800 Subject: [PATCH 1/3] update README.md. --- README.md | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 50 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e7dfaf5..9c59f27 100644 --- a/README.md +++ b/README.md @@ -20,9 +20,56 @@ Open build service system for openEuler community. #### 使用说明 -1. xxxx -2. xxxx -3. xxxx +1. **工具的生成** +(1)git clone https://gitee.com/openeuler/openeuler-obs +(2)pip3 install numpy pexpect pyinstaller PyYAML threadpool +(3)cd openeuler-obs +(4)pyinstaller openeuler_obs.py -p common/common.py -p common/log_obs.py -p common/parser_config.py -p core/check_meta_service.py -p core/gitee_to_obs.py -p core/package_manager.py -p core/project_manager.py -p core/runner.py -p core/save.py -p core/update_obs_repos.py --clean +(5)cd dist/openeuler_obs && cp ../../config ./ -rf + 完成以上操作后,即可使用。 +2. **代码介绍及功能使用** + +|变量名称|含义| +|--------------------|-----------------| +| obs_meta_path | obs_meta仓库的目录路径 | +| OBS_SOURCE_IP | 存放源码服务器的IP地址 | +| OBS_SOURCE_PWD | 存放源码服务器的密码 | +| OBS_BACKEND_IP | obs服务器的IP地址 | +| OBS_BACKEND_PWD | obs服务器的密码 | +| GiteeCloneUserName | 码云账号名称 | +| GiteeClonePassword | 码云账号密码 | +| obs_project_name | obs工程名 | +| repo_name | 二进制仓库名称 | +| arch_name | 架构名称 | +| giteePullRequestlid | obs_meta仓库未合入的PR号 | +| giteeTargetRepoName | 软件包仓库名称 | +| giteeTargetBranch | 码云分支名称 | + +(1)openeuler_obs.py:用于调度所有功能 +(2)core目录下 +  ● check_meta_service.py:对obs_meta仓库提交有关新增包PR的内容进行合规检查 +  命令:./openeuler_obs -cps true -prid giteePullRequestlid +  ● gitee_to_obs.py:同步软件包码云仓库的代码到obs对应的工程 +  命令:./openeuler_obs -r giteeTargetRepoName -o obs_meta_path -b giteeTargetBranch -ip OBS_SOURCE_IP -suser root -spwd OBS_SOURCE_PWD -guser GiteeCloneUserName -gpwd GiteeClonePassword +  ● package_manager.py +  功能1:根据obs_meta仓库合入的PR对obs工程的软件包进行增删改操作 +  命令:./openeuler_obs -r obs_meta -o obs_meta_path -ip OBS_SOURCE_IP -suser root -spwd OBS_SOURCE_PWD -guser GiteeCloneUserName -gpwd GiteeClonePassword +  功能2:检查obs_meta与obs工程上的软件包是否一致 +  命令:./openeuler_obs -r obs_meta -o obs_meta_path -guser GiteeCloneUserName -gpwd GiteeClonePassword --check_meta True +  功能3:检查obs_meta与src-openeuler.yaml中的软件包是否一致 +  命令:./openeuler_obs -r obs_meta -o obs_meta_path -guser GiteeCloneUserName -gpwd GiteeClonePassword --check_yaml True +  ● project_manager.py:根据obs_meta仓库合入的PR对obs工程进行增删改操作 +  命令:./openeuler_obs -r obs_meta -o obs_meta_path -ip OBS_SOURCE_IP -suser root -spwd OBS_SOURCE_PWD -guser GiteeCloneUserName -gpwd GiteeClonePassword +  ● update_obs_repos.py:备份并更新二进制仓库中软件包的二进制 +  命令1:./openeuler_obs -up True -p obs_project_name -repo repo_name -arch arch_name -rsip OBS_BACKEND_IP -rsu root -rsup OBS_BACKEND_PWD -guser GiteeCloneUserName -gpwd GiteeClonePassword(归档指定obs工程中所有软件包的二进制) +  命令2:./openeuler_obs -up True -p obs_project_name -repo repo_name -arch arch_name -rsip OBS_BACKEND_IP -rsu root -rsup OBS_BACKEND_PWD -guser GiteeCloneUserName -gpwd GiteeClonePassword --pkglist pkgs(归档指定obs工程中一个或多个软件包的二进制) +  ● save.py:提供保存软件包变更信息的功能(供其他脚本调用) +(3)config目录下 +  ● config.ini:配置文件 +(4)common目录下 +  ● common.py:提供对外开放的常用功能,如克隆仓库、远程执行命令、拷贝文件。(供其他脚本调用) +  ● log_obs.py:提供log打印功能(供其他脚本调用) +  ● parser_config.py:处理并读取config.ini配置文件中变量的值(供其他脚本调用) #### 参与贡献 -- Gitee From 8d9eb810fd780e1f0426ae766acd9ff72a3daef3 Mon Sep 17 00:00:00 2001 From: chong_W <15229716099@163.com> Date: Tue, 13 Apr 2021 19:52:10 +0800 Subject: [PATCH 2/3] update README.md. --- README.md | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 9c59f27..4164e7c 100644 --- a/README.md +++ b/README.md @@ -7,27 +7,29 @@ Open build service system for openEuler community. 软件架构说明 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1201/225845_f7674b15_6525505.png "Snipaste_2020-12-01_22-44-19.png") #### 功能列表 -| 序号 | 功能 | 详细描述 | -|----|---|---| -| 1 | 创建obs仓库 | 根据[obs_meta/OBS_PRJ_meta](https://gitee.com/src-openeuler/obs_meta/tree/master/OBS_PRJ_meta)目录下的meta文件创建obs空仓或obs已有仓库的备份仓库 | -| 2 | 删除obs仓库 | [obs_meta/OBS_PRJ_meta](https://gitee.com/src-openeuler/obs_meta/tree/master/OBS_PRJ_meta)目录下的meta文件被删除,则删除对应的obs仓库 | -| 3 | 创建obs仓库软件包 | 根据[obs_meta](https://gitee.com/src-openeuler/obs_meta)的提交记录,在obs对应仓库中创建软件包及软件包下的_service文件 | -| 4 | 删除obs仓库软件包 | 根据[obs_meta](https://gitee.com/src-openeuler/obs_meta)的提交记录,删除obs对应仓库中的软件包 | -| 5 | 修改obs仓库软件包的_service | 根据[obs_meta](https://gitee.com/src-openeuler/obs_meta)的提交记录,修改obs对应仓库中创建软件包的_service文件 | -| 6 | 软件包检查 | 根据[community/repository](https://gitee.com/openeuler/community/tree/master/repository)/目录下的src-openeuler.yam文件及[obs_meta](https://gitee.com/src-openeuler/obs_meta)对obs仓库的软件包进行检视,补充缺少的软件包、删除码云上不存在的软件包 | -| 7 | 软件包代码更新 | 将码云软件包仓库的代码同步到obs仓库,设置同步开关(开关打开:正常同步;开关关闭:代码不同步,如需同步则后续人工同步) | +| 序号 | 功能 | 详细描述 | 模块名 | +|----|---|---|---| +| 1 | 创建obs仓库 | 根据[obs_meta/OBS_PRJ_meta](https://gitee.com/src-openeuler/obs_meta/tree/master/OBS_PRJ_meta)目录下的meta文件创建obs空仓或obs已有仓库的备份仓库 | project_manager.py | +| 2 | 修改obs仓库的Meta配置 | 根据[obs_meta/OBS_PRJ_meta](https://gitee.com/src-openeuler/obs_meta/tree/master/OBS_PRJ_meta)目录下的meta文件修改obs仓库的配置 | project_manager.py | +| 3 | 删除obs仓库 | [obs_meta/OBS_PRJ_meta](https://gitee.com/src-openeuler/obs_meta/tree/master/OBS_PRJ_meta)目录下的meta文件被删除,则删除对应的obs仓库 | project_manager.py | +| 4 | 创建obs仓库软件包 | 根据[obs_meta](https://gitee.com/src-openeuler/obs_meta)的提交记录,在obs对应仓库中创建软件包及软件包下的_service文件 | package_manager.py | +| 5 | 删除obs仓库软件包 | 根据[obs_meta](https://gitee.com/src-openeuler/obs_meta)的提交记录,删除obs对应仓库中的软件包 | package_manager.py | +| 6 | 修改obs仓库软件包的_service | 根据[obs_meta](https://gitee.com/src-openeuler/obs_meta)的提交记录,修改obs对应仓库中创建软件包的_service文件 | package_manager.py | +| 7 | 软件包检查 | 根据[community/repository](https://gitee.com/openeuler/community/tree/master/repository)/目录下的src-openeuler.yam文件及[obs_meta](https://gitee.com/src-openeuler/obs_meta)对obs仓库的软件包进行检视,补充缺少的软件包、删除码云上不存在的软件包 | package_manager.py | +| 8 | 软件包检查 | 根据obs仓库及[obs_meta](https://gitee.com/src-openeuler/obs_meta)对obs仓库的软件包进行检视,补充缺少的软件包、删除obs_meta中不存在的软件包 | package_manager.py | +| 9 | 软件包代码更新 | 将码云软件包仓库的代码同步到obs仓库,设置同步开关(开关打开:正常同步;开关关闭:代码不同步,如需同步则后续人工同步) | gitee_to_obs.py | #### 使用说明 -1. **工具的生成** +1. **工具打包** (1)git clone https://gitee.com/openeuler/openeuler-obs (2)pip3 install numpy pexpect pyinstaller PyYAML threadpool (3)cd openeuler-obs (4)pyinstaller openeuler_obs.py -p common/common.py -p common/log_obs.py -p common/parser_config.py -p core/check_meta_service.py -p core/gitee_to_obs.py -p core/package_manager.py -p core/project_manager.py -p core/runner.py -p core/save.py -p core/update_obs_repos.py --clean (5)cd dist/openeuler_obs && cp ../../config ./ -rf  完成以上操作后,即可使用。 -2. **代码介绍及功能使用** +2. **使用** |变量名称|含义| |--------------------|-----------------| -- Gitee From 03c3f1dec4e7731dcfd0c202b525f69394501fcb Mon Sep 17 00:00:00 2001 From: chong_W <15229716099@163.com> Date: Wed, 14 Apr 2021 11:02:47 +0800 Subject: [PATCH 3/3] update README.md. --- README.md | 63 ++++++++++++++++++++++++------------------------------- 1 file changed, 27 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 4164e7c..9bcf320 100644 --- a/README.md +++ b/README.md @@ -9,16 +9,17 @@ Open build service system for openEuler community. #### 功能列表 | 序号 | 功能 | 详细描述 | 模块名 | |----|---|---|---| -| 1 | 创建obs仓库 | 根据[obs_meta/OBS_PRJ_meta](https://gitee.com/src-openeuler/obs_meta/tree/master/OBS_PRJ_meta)目录下的meta文件创建obs空仓或obs已有仓库的备份仓库 | project_manager.py | -| 2 | 修改obs仓库的Meta配置 | 根据[obs_meta/OBS_PRJ_meta](https://gitee.com/src-openeuler/obs_meta/tree/master/OBS_PRJ_meta)目录下的meta文件修改obs仓库的配置 | project_manager.py | -| 3 | 删除obs仓库 | [obs_meta/OBS_PRJ_meta](https://gitee.com/src-openeuler/obs_meta/tree/master/OBS_PRJ_meta)目录下的meta文件被删除,则删除对应的obs仓库 | project_manager.py | -| 4 | 创建obs仓库软件包 | 根据[obs_meta](https://gitee.com/src-openeuler/obs_meta)的提交记录,在obs对应仓库中创建软件包及软件包下的_service文件 | package_manager.py | -| 5 | 删除obs仓库软件包 | 根据[obs_meta](https://gitee.com/src-openeuler/obs_meta)的提交记录,删除obs对应仓库中的软件包 | package_manager.py | -| 6 | 修改obs仓库软件包的_service | 根据[obs_meta](https://gitee.com/src-openeuler/obs_meta)的提交记录,修改obs对应仓库中创建软件包的_service文件 | package_manager.py | -| 7 | 软件包检查 | 根据[community/repository](https://gitee.com/openeuler/community/tree/master/repository)/目录下的src-openeuler.yam文件及[obs_meta](https://gitee.com/src-openeuler/obs_meta)对obs仓库的软件包进行检视,补充缺少的软件包、删除码云上不存在的软件包 | package_manager.py | -| 8 | 软件包检查 | 根据obs仓库及[obs_meta](https://gitee.com/src-openeuler/obs_meta)对obs仓库的软件包进行检视,补充缺少的软件包、删除obs_meta中不存在的软件包 | package_manager.py | -| 9 | 软件包代码更新 | 将码云软件包仓库的代码同步到obs仓库,设置同步开关(开关打开:正常同步;开关关闭:代码不同步,如需同步则后续人工同步) | gitee_to_obs.py | - +| 1 | 创建obs仓库 | 根据[obs_meta/OBS_PRJ_meta](https://gitee.com/src-openeuler/obs_meta/tree/master/OBS_PRJ_meta)目录下的meta文件创建obs空仓或obs已有仓库的备份仓库 | project_manager | +| 2 | 修改obs仓库的Meta配置 | 根据[obs_meta/OBS_PRJ_meta](https://gitee.com/src-openeuler/obs_meta/tree/master/OBS_PRJ_meta)目录下的meta文件修改obs仓库的配置 | project_manager | +| 3 | 删除obs仓库 | [obs_meta/OBS_PRJ_meta](https://gitee.com/src-openeuler/obs_meta/tree/master/OBS_PRJ_meta)目录下的meta文件被删除,则删除对应的obs仓库 | project_manager | +| 4 | 创建obs仓库软件包 | 根据[obs_meta](https://gitee.com/src-openeuler/obs_meta)的提交记录,在obs对应仓库中创建软件包及软件包下的_service文件 | package_manager | +| 5 | 删除obs仓库软件包 | 根据[obs_meta](https://gitee.com/src-openeuler/obs_meta)的提交记录,删除obs对应仓库中的软件包 | package_manager | +| 6 | 修改obs仓库软件包的_service | 根据[obs_meta](https://gitee.com/src-openeuler/obs_meta)的提交记录,修改obs对应仓库中创建软件包的_service文件 | package_manager | +| 7 | 软件包检查 | 根据[community/repository](https://gitee.com/openeuler/community/tree/master/repository)/目录下的src-openeuler.yam文件及[obs_meta](https://gitee.com/src-openeuler/obs_meta)对obs仓库的软件包进行检视,补充缺少的软件包、删除码云上不存在的软件包 | package_manager | +| 8 | 软件包检查 | 根据obs仓库及[obs_meta](https://gitee.com/src-openeuler/obs_meta)对obs仓库的软件包进行检视,补充缺少的软件包、删除obs_meta中不存在的软件包 | package_manager | +| 9 | 软件包代码更新 | 将码云软件包仓库的代码同步到obs仓库,设置同步开关(开关打开:正常同步;开关关闭:代码不同步,如需同步则后续人工同步) | gitee_to_obs | +| 10 | obs_meta合规检查 | 对[obs_meta](https://gitee.com/src-openeuler/obs_meta)仓库提交有关新增包PR的内容进行合规检查 | check_meta_service | +| 11 | 归档软件包二进制 | 将obs仓库软件包的二进制归档到二进制依赖仓库中 | update_obs_repos | #### 使用说明 @@ -40,38 +41,28 @@ Open build service system for openEuler community. | OBS_BACKEND_PWD | obs服务器的密码 | | GiteeCloneUserName | 码云账号名称 | | GiteeClonePassword | 码云账号密码 | -| obs_project_name | obs工程名 | +| obs_project_name | obs仓库名称 | | repo_name | 二进制仓库名称 | | arch_name | 架构名称 | | giteePullRequestlid | obs_meta仓库未合入的PR号 | | giteeTargetRepoName | 软件包仓库名称 | | giteeTargetBranch | 码云分支名称 | -(1)openeuler_obs.py:用于调度所有功能 -(2)core目录下 -  ● check_meta_service.py:对obs_meta仓库提交有关新增包PR的内容进行合规检查 -  命令:./openeuler_obs -cps true -prid giteePullRequestlid -  ● gitee_to_obs.py:同步软件包码云仓库的代码到obs对应的工程 -  命令:./openeuler_obs -r giteeTargetRepoName -o obs_meta_path -b giteeTargetBranch -ip OBS_SOURCE_IP -suser root -spwd OBS_SOURCE_PWD -guser GiteeCloneUserName -gpwd GiteeClonePassword -  ● package_manager.py -  功能1:根据obs_meta仓库合入的PR对obs工程的软件包进行增删改操作 -  命令:./openeuler_obs -r obs_meta -o obs_meta_path -ip OBS_SOURCE_IP -suser root -spwd OBS_SOURCE_PWD -guser GiteeCloneUserName -gpwd GiteeClonePassword -  功能2:检查obs_meta与obs工程上的软件包是否一致 -  命令:./openeuler_obs -r obs_meta -o obs_meta_path -guser GiteeCloneUserName -gpwd GiteeClonePassword --check_meta True -  功能3:检查obs_meta与src-openeuler.yaml中的软件包是否一致 -  命令:./openeuler_obs -r obs_meta -o obs_meta_path -guser GiteeCloneUserName -gpwd GiteeClonePassword --check_yaml True -  ● project_manager.py:根据obs_meta仓库合入的PR对obs工程进行增删改操作 -  命令:./openeuler_obs -r obs_meta -o obs_meta_path -ip OBS_SOURCE_IP -suser root -spwd OBS_SOURCE_PWD -guser GiteeCloneUserName -gpwd GiteeClonePassword -  ● update_obs_repos.py:备份并更新二进制仓库中软件包的二进制 -  命令1:./openeuler_obs -up True -p obs_project_name -repo repo_name -arch arch_name -rsip OBS_BACKEND_IP -rsu root -rsup OBS_BACKEND_PWD -guser GiteeCloneUserName -gpwd GiteeClonePassword(归档指定obs工程中所有软件包的二进制) -  命令2:./openeuler_obs -up True -p obs_project_name -repo repo_name -arch arch_name -rsip OBS_BACKEND_IP -rsu root -rsup OBS_BACKEND_PWD -guser GiteeCloneUserName -gpwd GiteeClonePassword --pkglist pkgs(归档指定obs工程中一个或多个软件包的二进制) -  ● save.py:提供保存软件包变更信息的功能(供其他脚本调用) -(3)config目录下 -  ● config.ini:配置文件 -(4)common目录下 -  ● common.py:提供对外开放的常用功能,如克隆仓库、远程执行命令、拷贝文件。(供其他脚本调用) -  ● log_obs.py:提供log打印功能(供其他脚本调用) -  ● parser_config.py:处理并读取config.ini配置文件中变量的值(供其他脚本调用) +  ● 根据obs_meta仓库的提交记录对obs仓库进行增删改操作 +  命令:./openeuler_obs -r obs_meta -o -ip -suser root -spwd -guser -gpwd +  ● 根据obs_meta仓库的提交记录对obs仓库的软件包进行增删改操作 +  命令:./openeuler_obs -r obs_meta -o -ip -suser root -spwd -guser -gpwd +  ● 检查obs_meta与obs仓库的软件包是否一致 +  命令:./openeuler_obs -r obs_meta -o -guser -gpwd --check_meta +  ● 检查obs_meta与src-openeuler.yaml中的软件包是否一致 +  命令:./openeuler_obs -r obs_meta -o -guser -gpwd --check_yaml +  ● 软件包代码更新 +  命令:./openeuler_obs -r -o -b -ip -suser root -spwd -guser -gpwd +  ● obs_meta合规检查 +  命令:./openeuler_obs -cps -prid +  ● 备份并更新二进制仓库中软件包的二进制 +  命令1:./openeuler_obs -up -p -repo -arch -rsip -rsu root -rsup -guser -gpwd (归档指定obs仓库中所有软件包的二进制) +  命令2:./openeuler_obs -up -p -repo -arch -rsip -rsu root -rsup -guser -gpwd --pkglist (归档指定obs仓库中一个或多个软件包的二进制) #### 参与贡献 -- Gitee