Git 钩子触发自动构建

发布于 2024-02-23 08:20:31 字数 2274 浏览 24 评论 0

刚才我们看到在 Jenkins 的内置构建触发器中,轮询 SCM 可以实现 Gitlab 代码更新,项目自动构建,但是该方案的性能不佳。那有没有更好的方案呢? 有的。就是利用 Gitlab 的 webhook 实现代码 push 到仓库,立即触发项目自动构建。

一. 配置 WebHook 实现自动构建

第一步:安装 Gitlab HookGitLab 插件

第二步:Jenkins 设置自动构建

等会需要把生成的 webhook URL 配置到 Gitlab 中。

第三步:GitLab 开启 WebHook 功能

使用 root 账户登录到后台,点击 Admin Area -> Settings -> Outbound request。

勾选"Allow requests to the local network from web hooks and services"

第四步:在 GitLab 仓库中添加 WebHook

点击项目->Settings->Integrations

钩子新增成功后,我们可以进行测试,看是否能够触发构建:

测试可能会发生错误:

第五步:配置 Jenkins 关闭身份验证,解决拒绝授权的问题

Manage Jenkins->Confifigure Syste->GitLab

第六步:测试

二. 配置优化

在上面的配置中,只要 Gitlab 接收到 Push 事件都会触发项目的构建,这在生产环境中显然是不合理的,我们需要配置只有指定分支的 Push 事件才能够触发构建计划。

第一步:配置允许哪些分支 Push 能够触发推送

点击 configure(Jenkins 项目的 configure)->Build Triggers->Adcanced->Allowed branches

第二步:配置触发构建后,Jenkin 从哪个分支拉取代码

点击 configure(Jenkins 项目的 configure)->Pipeline->Branches to build

注:流水线类型的项目,其他类型的项目操作基本类似

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

云柯

暂无简介

0 文章
0 评论
24 人气
更多

推荐作者

束缚m

文章 0 评论 0

alipaysp_VP2a8Q4rgx

文章 0 评论 0

α

文章 0 评论 0

一口甜

文章 0 评论 0

厌味

文章 0 评论 0

转身泪倾城

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文