【问题标题】:How to run a command only if is the master branch in travis-ci?仅当 travis-ci 中的主分支时如何运行命令?
【发布时间】:2015-11-14 18:03:10
【问题描述】:

我有一个开源项目,我想部署代码,只要代码在主分支中,我已经尝试了很多方法,比如:

- 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命令。

【问题讨论】:

    标签: python sh travis-ci fabric


    【解决方案1】:

    我不确定为什么您的第一种方法不起作用,但我建议在您的 .travis.yml 文件中使用 deploy: 指令和这样的自定义部署脚本:

    deploy:
      provider: script
      script: scripts/deploy.sh
      on:
        branch: master
    

    这里是documentation

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-20
      • 2018-02-10
      • 2016-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多