2014-03-01 64 views
1

嗨,任何人都有一些脚本可能是例如我可以在GitLab存储库中创建挂钩以在每次推送请求后自动从项目构建maven war archive? 请张贴脚本的一些例子! 在此先感谢!推事件GitLab挂钩

回答

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 

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

希望它有帮助!

0

我的重新编译是配置gitlab-ci并将它用于gitlab。你也可以在那里运行一些其他的东西,它有非常好的界面。