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博客