使用Travis-CI,是否有可能在不推送新提交到GitHub的情况下触发重建?
用例:由于外部性而导致构建失败。这个来源实际上是正确的。如果简单地重新运行,它将构建OK并通过。
例如,由于包服务器宕机,apt-get失败,但服务器再次备份。然而,构建状态“卡”在“失败”,直到推送新的提交。
有什么方法来推动Travis-CI做另一个构建,而不是推动一个“虚拟”提交?
使用Travis-CI,是否有可能在不推送新提交到GitHub的情况下触发重建?
用例:由于外部性而导致构建失败。这个来源实际上是正确的。如果简单地重新运行,它将构建OK并通过。
例如,由于包服务器宕机,apt-get失败,但服务器再次备份。然而,构建状态“卡”在“失败”,直到推送新的提交。
有什么方法来推动Travis-CI做另一个构建,而不是推动一个“虚拟”提交?
当前回答
我知道你说的是不提交,但是如果你在master以外的分支上工作,有一个很方便的方法,那就是提交一个空提交。
git commit——allow-empty -m "触发器"
你可以在最后改变base,删除squash/删除空提交,并在所有git钩子上工作:)
其他回答
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.
重新构建:
触发构建:
如果您安装了Travis CI客户端,您可以使用Travis restart <job#>从控制台中手动重新运行构建。你可以使用travis show <branch>找到分支的最后一个job#
travis show master
travis restart 48 #use Job number without .1
travis logs master
UPDATE:不幸的是,它看起来并没有使用最新的提交启动一个新的构建,而是使用之前的repo状态重新启动一个以前的构建。