一.环境:
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=====================================================================================================