使用Travis-CI,是否有可能在不推送新提交到GitHub的情况下触发重建?
用例:由于外部性而导致构建失败。这个来源实际上是正确的。如果简单地重新运行,它将构建OK并通过。
例如,由于包服务器宕机,apt-get失败,但服务器再次备份。然而,构建状态“卡”在“失败”,直到推送新的提交。
有什么方法来推动Travis-CI做另一个构建,而不是推动一个“虚拟”提交?
使用Travis-CI,是否有可能在不推送新提交到GitHub的情况下触发重建?
用例:由于外部性而导致构建失败。这个来源实际上是正确的。如果简单地重新运行,它将构建OK并通过。
例如,由于包服务器宕机,apt-get失败,但服务器再次备份。然而,构建状态“卡”在“失败”,直到推送新的提交。
有什么方法来推动Travis-CI做另一个构建,而不是推动一个“虚拟”提交?
当前回答
Travis现在提供了一种从他们的web UI触发“自定义”构建的方法。在项目页面顶部附近的右侧,可以找到“更多选项”菜单按钮。
然后你会看到一个对话框,你可以在其中选择分支并自定义配置:
在我写这篇文章的时候,它还处于测试阶段,看起来有点bug(但我希望他们很快就能解决这些问题)。
其他回答
你可以使用Travis CLI来实现。如文档所述,首先安装CLI工具,然后:
travis login --org --auto
travis token
您可以将这个令牌保存在环境变量TRAVIS_TOKEN中,只要保存它的文件没有在公共的某个地方受到版本控制。
我使用这个函数来提交触发器:
function travis_trigger() {
local org=$1 && shift
local repo=$1 && shift
local branch=${1:-master} && shift
body="{
\"request\": {
\"branch\": \"${branch}\"
}
}"
curl -s -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Travis-API-Version: 3" \
-H "Authorization: token $TRAVIS_TOKEN" \
-d "$body" \
"https://api.travis-ci.org/repo/${org}%2F${repo}/requests"
}
If you have write access to the repo: On the build's detail screen, there is a button ↻ Restart Build. Also under "More Options" there is a trigger build menu item. Note: Browser extensions like Ghostery may prevent the restart button from being displayed. Try disabling the extension or white-listing Travis CI. Note2: If .travis.yml configuration has changed in the upstream, clicking rebuild button will run travis with old configuration. To apply upstream changes for travis configuration one has to add commit to PR or to close / reopen it. If you've sent a pull request: You can close the PR then open it again. This will trigger a new build.
重新构建:
触发构建:
如果你打开GitHub上存储库的设置选项卡,单击集成和服务,找到Travis CI,然后单击编辑,你应该会看到一个测试服务按钮。这将触发一个构建。
我应该在这里提到,我们现在有了一种在web上触发新构建的方法。详情见https://blog.travis-ci.com/2017-08-24-trigger-custom-build。
博士TL; 点击“更多选项”,然后选择“触发构建”。
如果构建从未发生(也许你没有及时将Pull-Request构建开关设置为打开),你可以在Github上将Pull Request标记为关闭,然后将其标记为打开,然后将触发一个新的构建。