GitLab挂钩推送事件

时间:2014-03-01 21:37:13

标签: maven-plugin gitlab githooks

任何人都有一些脚本可能是例如我如何在GitLab存储库中创建钩子以在每次推送请求后自动从项目构建maven war存档? 请发布一些脚本示例! 提前谢谢!

2 个答案:

答案 0 :(得分:3)

您可以使用Gitlab-API包装器来创建钩子。有几种语言,我将以Ruby wrapper为例。 添加钩子就像这样简单:

h = Gitlab.add_project_hook(project_id, hook_url)

当然,首先检查钩子是否已经存在。您的网址可以以 / maven 结尾。

每次将某些内容推送到项目仓库时,您的钩子现在会在URL上触发POST请求。

Sinatra之类的简单网络服务器现在可以处理请求:

mavenjob.rb
require 'sinatra'

post '/maven' do
  'Hook triggered'!
  #Handle creation of maven archive
end

您可以考虑使用Resque等排队系统处理POST请求。如果您想使用Ruby,Github上有一个Maven包装器,但我从未使用它。

希望它有所帮助!

答案 1 :(得分:0)

我的建议是配置gitlab-ci并与gitlab一起使用。你也可以在那里运行其他东西,它有很好的界面。