【问题标题】:How to prevent travis jobs after each commit?每次提交后如何防止 travis 工作?
【发布时间】:2016-06-30 21:15:50
【问题描述】:

我正在 github 上开发一个带有 travis 检查的库。我想打开一个 WIP 拉取请求以轻松讨论想法。在 travis 上为该项目设置了很多测试,所以我不想每次推送提交时都触发测试(以防止服务器过载),因为代码无论如何都不会通过。

有没有办法在 github 上执行此操作而无需访问 travis 配置?

【问题讨论】:

  • 您可以将[ci skip] 添加到您的提交消息中,如果$TRAVIS_PULL_REQUEST == "false" 则立即添加exit

标签: github travis-ci


【解决方案1】:

要在每次提交的基础上跳过构建,您可以将[ci skip] 添加到提交消息中,如Docs 中所述,例如:

之前:Add blerb.
之后:
Add blerb [ci skip]


要跳过所有个非 PR 构建,如果 TRAVIS_PULL_REQUEST environnment variable is set to "false" 来自 .travis.yml,则可以提前退出:

before_install:  # Earliest build step
  - if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then echo "Not a PR, skipping" && exit; fi

【讨论】:

    【解决方案2】:

    我的方法是使用我定义的别名,将[ci skip] 附加到当前分支的每个提交消息中。

    wip = "!f() { git filter-branch -f --msg-filter 'sed -e "\"s/$/ \\[ci skip\\]/g\""' ${1-master}..HEAD ; }; f"
    unwip = "!f() { git filter-branch -f --msg-filter 'sed -e "\"s/ \\[ci skip\\]//g\""' ${1-master}..HEAD ; }; f"
    wpush = "!f() { git wip $1 && git fpush && git unwip $1 ; }; f"
    

    所以基本上我所做的只是git wpush

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-13
      • 2013-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多