仅当 travis-ci 中的 master 分支时,如何 运行 命令?
How to run a command only if is the master branch in travis-ci?
我有一个开源项目,如果代码在 master 分支中,我想部署代码,我已经尝试了很多方法,例如:
- if [[ $TRAVIS_BRANCH == 'master' ]]; then fab deploy; fi
或类似的东西:
BRANCH = "master"
def _get_local_branch():
return local("git rev-parse --abbrev-ref HEAD", capture=True)
def deploy():
local_branch = _get_local_branch()
if local_branch == BRANCH:
print green("Deploy succefully done!")
print yellow("Deploy allowed just in the master branch.")
但是这不行,即使在其他人的分支中,也触发了fab deploy
命令。
我不确定为什么你的第一种方法不起作用,但我建议在你的 .travis.yml 文件中使用 deploy:
指令和自定义部署脚本,如下所示:
deploy:
provider: script
script: scripts/deploy.sh
on:
branch: master
这里是 documentation.
希望这对您有所帮助。
我有一个开源项目,如果代码在 master 分支中,我想部署代码,我已经尝试了很多方法,例如:
- if [[ $TRAVIS_BRANCH == 'master' ]]; then fab deploy; fi
或类似的东西:
BRANCH = "master"
def _get_local_branch():
return local("git rev-parse --abbrev-ref HEAD", capture=True)
def deploy():
local_branch = _get_local_branch()
if local_branch == BRANCH:
print green("Deploy succefully done!")
print yellow("Deploy allowed just in the master branch.")
但是这不行,即使在其他人的分支中,也触发了fab deploy
命令。
我不确定为什么你的第一种方法不起作用,但我建议在你的 .travis.yml 文件中使用 deploy:
指令和自定义部署脚本,如下所示:
deploy:
provider: script
script: scripts/deploy.sh
on:
branch: master
这里是 documentation.
希望这对您有所帮助。