任何人都有一些脚本可能是例如我如何在GitLab存储库中创建钩子以在每次推送请求后自动从项目构建maven war存档? 请发布一些脚本示例! 提前谢谢!
答案 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一起使用。你也可以在那里运行其他东西,它有很好的界面。