如何检查 master 分支是否在 Travis 下使用标签推送?
How to check if master branch pushed with a tag under Travis?
我想在 Travis 上做一些额外的测试,但我只想检查提交是否直接推送到 master 分支并且提交是否带有标签?有没有办法在 yaml 文件中检查 Travis 上的标签?
在构建期间,travis 设置了一些有用的环境变量,这些变量可以在您的脚本中使用,也可以在 yml 文件中使用。
https://docs.travis-ci.com/user/environment-variables#Default-Environment-Variables
示例:
script:
- if [ "$TRAVIS_BRANCH" = "master" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then something on direct push to master; fi
- if [ ! "$TRAVIS_PULL_REQUEST" = "false" ]; then something on pull request; fi
- if [ -n "$TRAVIS_TAG" ]; then something when tag set; fi
Travis 运行 按照脚本标签中定义的顺序执行命令,因此您可以在构建时构建一些依赖于环境变量的逻辑
正如 Slawomir Jaranowski 所描述的,travis 提供了描述提交的环境变量。
Travis 的默认便利环境变量会告诉您分支名称或标签。 Travis 不会在标记的构建中为您提供分支名称,但如果您需要分支和标记,您可以 get it for yourself。
我想在 Travis 上做一些额外的测试,但我只想检查提交是否直接推送到 master 分支并且提交是否带有标签?有没有办法在 yaml 文件中检查 Travis 上的标签?
在构建期间,travis 设置了一些有用的环境变量,这些变量可以在您的脚本中使用,也可以在 yml 文件中使用。 https://docs.travis-ci.com/user/environment-variables#Default-Environment-Variables
示例:
script:
- if [ "$TRAVIS_BRANCH" = "master" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then something on direct push to master; fi
- if [ ! "$TRAVIS_PULL_REQUEST" = "false" ]; then something on pull request; fi
- if [ -n "$TRAVIS_TAG" ]; then something when tag set; fi
Travis 运行 按照脚本标签中定义的顺序执行命令,因此您可以在构建时构建一些依赖于环境变量的逻辑
正如 Slawomir Jaranowski 所描述的,travis 提供了描述提交的环境变量。
Travis 的默认便利环境变量会告诉您分支名称或标签。 Travis 不会在标记的构建中为您提供分支名称,但如果您需要分支和标记,您可以 get it for yourself。