是否有办法在每次推到存储库Y时触发Travis CI为存储库X构建?具体来说,我希望我的构建在每次推到http://github.com/tensorflow/tensorflow时都能启动
发布于 2017-12-08 13:52:09
问得好!以下是我能想到的一些解决方案:
如果您在回购上拥有管理权限(或者认识一个这样的人),您可以创建一个订阅push
事件的webhook,当触发时,使用Travis启动一个在Travis上的构建。
这将需要:
application/json
内容类型,并且只让GitHub用push
事件触发webhook。这就是我的例子。
post "/push-webhook" do
uri = URI.parse("https://api.travis-ci.org/repo/your-org/your-repo/requests")
request = Net::HTTP::Get.new(uri.request_uri)
request["Content-Type"] = "application/json"
request["Accept"] = "application/json"
request["Travis-API-Version"] = "3"
request["Authorization"] = "token your-token"
body = { "request" => { "branch" => "master" } }
request.body = body.to_json
response = http.request(request)
end
有帮助的文件
但是,如果您在回购上没有管理权限,您可以创建一个由您控制的存储库镜像,然后按照上面的说明进行操作(有一些不同之处)。根据我所做的一些研究,如果没有原始/官方存储库的管理权限,就不可能(或者至少不容易)在GitHub上创建存储库的镜像。
话虽如此,我还是找到了一个可行的解决办法。
tensorflow/tensorflow
导入GitLab并使用镜像存储库功能,以便将http://github.com/tensorflow/tensorflow映射为GitLab回购的上游。有帮助的文件
我希望这些信息是有帮助的。如果你还有其他问题,请告诉我,我很乐意尽我所能提供帮助。:)
https://stackoverflow.com/questions/47641297
复制