作为公司平台系统,各细分市场业务经常需要基于平台做二次开发。为了管理平台和各业务的开发版本
配套(平台这里发布的是打包构建后的项目)。
这里通过两个仓库
一个源码仓库,一个release仓库
来实现平台开发版本的更新和发布。主要就是每次在平台版本(源码仓库)构建时,同时将构建后的项目,拷贝覆盖到release仓库的 git工程目录下,并自动提交到git仓库上。这里可以通过eleversion 调整发布的 beta版本
jekins源码构建的shell脚本
betaversion=3.2.0-RC007
npm install
npm run build
cd build
cp -rf * ../../xx-release //拷贝构建结果到发布目录
cd ../../xxx-release //进入发布目录
git checkout $betaversion //更新发布版本
git pull
rm -f README.md
mv README-release.md README.md
git add -A
git commit -m 'from jenkins' --allow-empty
git push
if [[ ${betaversion} == "" ]];then
git tag $betaversion
git push origin $betaversion
fi
实践中的一些小点:
1.git ignore 不生效
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
2.git branch 遇到warning: refname 'xxxx branch name' is ambiguous
删除分支重建
3.tag就像是一个里程碑一个标志一个点,branch是一个新的征程一条线;
tag是静态的,branch要向前走;
稳定版本备份用tag,新功能多人开发用branch(开发完成后merge到master)
网友评论