说说配置gitlab的webhook时踩过的坑

之前把公司的版本管理从svn换到了gitlab,用的各种舒适,但是,我的上线属于手动上线,先在本地git push到主分支,再到线上环境去运行git pull命令把代码拉取下来。

如何能做到自动部署呢?

答案是webhook。

有关如何配置webhook,推荐文章https://www.jianshu.com/p/00bc0323e83f

那么webhook是如何做到自动部署的呢?

我的理解是这样的,配置webhook时可以指定触发webhook的事件,我配置的事件是push事件,即当有push事件时,就会调取webhook。

如上,当有push事件时,就会调用服务器上的webhook.php,并post方式将安全令牌推送给php文件,这样,服务器就可以根据安全令牌来验证访问请求是否合法,如果合法,就执行pull命令。这样,你就不用自己登陆服务器执行git pull命令了,钩子会自动帮你执行。

其实,我们只需要做几件事情即可。

1)线上服务器配置钩子域名

2)编写钩子程序

3)测试

就这么简单。

1、配置钩子域名

我的环境用的lnmp平台,钩子访问地址

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
配置GitLab webhook与Jenkins的集成,请按照以下步骤进行操作: 1. 打开Jenkins的管理界面,点击左侧的"系统管理"。 2. 在系统管理页面中,找到"系统设置"并点击打开。 3. 向下滚动页面,找到"GitLab"部分。 4. 在GitLab部分,找到"GitLab server"字段,点击"Add"按钮添加一个GitLab服务器。 5. 在出现的表单中,填写GitLab服务器的URL和凭证信息(用户名和访问令牌或密码),然后点击保存。 6. 返回到系统设置页面,向下滚动,找到"GitLab Connection Configuration"部分。 7. 在"Connection name"字段中,输入一个连接名称(如"GitLab")。 8. 在"Project naming strategy"字段中,选择一个适合你的命名策略。 9. 在"Webhook"部分,勾选"Enable authentication for webhook callbacks"选项以启用身份验证。 10. 在"Secret token"字段中,输入一个用于验证Webhook请求的密钥(可以是任意字符串)。 11. 点击保存。 现在你已经成功配置GitLab webhook与Jenkins的集成。接下来,在GitLab中设置Webhook来触发Jenkins构建: 1. 打开你的GitLab仓库页面,点击左侧的"Settings"。 2. 在Settings页面中,选择"Webhooks"选项卡。 3. 点击"Add webhook"按钮。 4. 在URL字段中,输入Jenkins服务器的URL,后面加上`/project/<jenkins项目名称>/gitlab/build_now` (例如:`http://jenkins.example.com/project/my-project/gitlab/build_now`)。 5. 在Secret Token字段中,输入之前在Jenkins中设置的密钥。 6. 选择你希望触发Webhook的事件(例如Push事件)。 7. 点击保存。 现在,当你的GitLab仓库中的相关事件发生GitLab会发送Webhook请求到Jenkins,并触发相应的构建操作。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值