0.概述
记录pod自动化发布流程。
可相对应调整,比如check推送权限等。
或CI平台自动打包。
1.check远程是否已存在tag
if test -z "$(git ls-remote --tags origin -l ${VERSION})"; then
echo "check success."
else
echo "check error : the remote tag ${VERSION} already exists."
exit
fi
2.查找文件内字符串并替换
find=`cat "${SUB_POD_DIR}" | grep '***'`
replace="***'${VERSION}'"
sed -i '' "s/${find}/${replace}/g" ${***_DIR}
3.build project
相对应工程脚本编译
4.替换生存结果、修改版本号
替换:
cp -LR "${INSTALL_DIR}" "${SUB_INSTALL_DIR}"
注,事先添加pod仓库为子模块
修改pod版本号:
echo ${SUB_POD_DIR}
find=`cat "${SUB_POD_DIR}" | grep '***'`
replace="*** '${VERSION}'"
sed -i '' "s/${find}/${replace}/g" ${SUB_POD_DIR}
5.推送子模块
注意:最好先推送子模块,再推送主模块。不然会在主模块有子模块节点变动未推送变更,虽然不影响使用,但是膈应。
cd "${SUB_GIT_DIR}"
sub_branch=`git rev-parse --abbrev-ref HEAD`
git add .
git commit -m "*** ${VERSION}" #添加描述 -mark
git push -u origin "${sub_branch}" #初始化推送
6.推送主模块
cd "${MAIN_GIT_DIR}"
main_branch=`git rev-parse --abbrev-ref HEAD`
git add .
git commit -m "*** ${VERSION}" #添加描述 -mark
git push -u origin "${main_branch}" #初始化推送