我试图了解travis-ci是如何工作的,首先我授权应用程序为拉取请求,推送等创建webhook,然后只要有拉取请求,travis就会收到通知。但它如何回复github测试通过?
答案 0 :(得分:2)
正如官方GitHub's guide on building CI servers在Working with statuses部分告诉我们的那样,通过调用通过Octocat.rb gem获得的客户端句柄上的create_status
函数来改变构建状态这样:
def process_pull_request(pull_request)
@client.create_status(pull_request['base']['repo']['full_name'], pull_request['head']['sha'], 'pending')
sleep 2 # do busy work...
@client.create_status(pull_request['base']['repo']['full_name'], pull_request['head']['sha'], 'success')
puts "Pull request processed!"
end
其中process_pull_request()
是接收GitHub本身编辑的JSON有效负载PUSH
的函数。
API documentation section专门用于直接通过API创建状态。
答案 1 :(得分:-3)
eightnoteight,
Travis回复GitHub说,测试是通过webhooks传递的,类似于在发出拉取请求或推送时创建通知的webhook。要让Travis CI知道要构建什么,你必须添加.travis.yml文件到您的存储库。该文件将包含您正在使用的语言,您拥有的gem版本和/或依赖项。 Travis CI根据您使用的语言版本测试您的项目,并在每次提交或推送后触发Travis CI构建,从而导致测试通过或失败。
**我已经从Travis CI
收集了大部分回复