自动化构建工具的需求描述

一.环境:

1.gitlab代码库是中心代码服务器
2.编译服务器bmcCompileBak的openbmc/build/downloads/git2目录下是裸库
3.编译服务器bmcCompileBak的gitSource目录下是源代码,源代码库里的每一个.git/config文件中都有两个remote push地址,一个是缺省的master,指向中心代码库,另一个是手工增加的,命名为local,指向openbmc/build/downloads/git2里对应的裸库地址

二.思路

1.开发机器,例如kunlunsec上的改动能通过192.168.120.200中心代码服务器同步到编译服务器bmcCompileBak上的源代码库里
2.编译服务器bmcCompileBak上同步后的源代码库能推送(git push)到编译服务器bmcCompileBak下的/home/kunlun/rxsunSource/openbmc/build/downloads/git2

三.所需要参数:

1.一级版本: 如下文中的meta-haiguang
2.二级版本: 如下文中的meta-haiguang1
3.一个数组input_repo[]: 库名repo_name;分支名branch_name; 提交号commit_id; 文件名file_name;

四.代码同步的脚本

在编译服务器的gitSource目录下,循环数组input_repo

cd input_repo[i].repo_name
git pull origin input_repo[i].branch_name
git push local input_repo[i].branch_name
cd ..

五.传递commit变更的脚本

在编译服务器的openbmc目录下,循环数组input_repo
修改file_name,如meta-phosphor/recipes-phosphor/datetime/phosphor-time-manager_git.bb 中的两个参数:
KBRANCH ?= input_repo[i].branch_name
SRCREV = input_repo[i].commit_id

六.构建的脚本

在openbmc目录下运行这个sh文件:

cd build
rm conf/ -rf
export TEMPLATECONF=meta-haiguang/meta-haiguang1/conf/
cd ..
. openbmc-env
bitbake obmc-phosphor-image  

七.传到服务器的脚本

要将地址路径和日期作为参数传入.

lftp  192.168.200.***
cd rxsun/openbmc-v28
mput ~/rxsunSource/openbmc-v28/build/tmp/deploy/images/haiguang1/obmc-phosphor-image-haiguang1-20190822*.static.mtd .
exit

lftp bmc:***@192.168.120.***
cd openbmc/tmp/rxsun/openbmc-v28
mput ~/rxsunSource/openbmc-v28/build/tmp/deploy/images/haiguang1/obmc-phosphor-image-haiguang1-20190822*.static.mtd  .
exit

=====================================================================================================

ruixia,sun wechat
生活相关,请扫描wechat帐号获取更多精彩内容。。。。。。
0%