作为公司平台系统,各细分市场业务经常需要基于平台做二次开发。为了管理平台和各业务的开发版本配套(平台这里发布的是打包构建后的项目)。
这里通过两个仓库
一个源码仓库,一个release仓库
来实现平台开发版本的更新和发布。主要就是每次在平台版本(源码仓库)构建时,同时将构建后的项目,拷贝覆盖到release仓库的 git工程目录下,并自动提交到git仓库上。这里可以通过eleversion 调整发布的 beta版本
jekins源码构建的shell脚本
betaversion=3.2.0-RC007npm installnpm run buildcd buildcp -rf * ../../xx-release //拷贝构建结果到发布目录cd ../../xxx-release //进入发布目录git checkout $betaversion //更新发布版本git pullrm -f README.mdmv README-release.md README.mdgit add -Agit commit -m 'from jenkins' --allow-emptygit pushif [[ ${betaversion} == "" ]];thengit tag $betaversiongit push origin $betaversionfi
实践中的一些小点:
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)