sh travis-ci或任何其他ci的自动语义版本控制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh travis-ci或任何其他ci的自动语义版本控制相关的知识,希望对你有一定的参考价值。
#!/bin/bash
export SEMVER_LAST_TAG=$(git describe --abbrev=0 --tags 2>/dev/null)
export SEMVER_RELEASE_LEVEL=$(git log --oneline -1 --pretty=%B | cat | tr -d '\n' | cut -d "[" -f2 | cut -d "]" -f1)
#curl -o /tmp/hub.tgz https://github.com/github/hub/releases/download/v2.2.9/hub-linux-arm64-2.2.9.tgz
#tar -xvzf /tmp/hub.tgz -C /tmp
if [ -z $SEMVER_LAST_TAG ]; then
>&2 echo "No tags defined"
SEMVER_LAST_TAG="0.0.1"
fi
if [ -n $SEMVER_RELEASE_LEVEL ]; then
git clone https://github.com/fsaintjacques/semver-tool /tmp/semver &> /dev/null
SEMVER_NEW_TAG=$(/tmp/semver/src/semver bump $SEMVER_RELEASE_LEVEL $SEMVER_LAST_TAG)
git tag $SEMVER_NEW_TAG &> /dev/null
git push origin --tags &> /dev/null
echo $SEMVER_NEW_TAG
else
>&2 echo "No release level defined"
fi
exit 0
以上是关于sh travis-ci或任何其他ci的自动语义版本控制的主要内容,如果未能解决你的问题,请参考以下文章
使用 svn repo 自动运行 Travis-ci?
GitHub项目加入Travis-CI的自动集成
sh https://swiftenv.fuller.li/en/latest/integrations/travis-ci.html
[travis-ci]自动集成测试
使用 Travis-CI 将多个发行版部署到 PyPI 时防止冲突
使用Travis-CI自动化部署Hexo博客