pod自动化发布

56 阅读1分钟

pod自动化发布

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}" #初始化推送