time 2020-05-15
author Venki
theme 本篇博文主要目的是:将自己部署的gitlab代码管理系统,实现本地提交和服务器自动更新,希望可以帮助到和我一样有需求的小伙伴们。
statement 本篇博文在借鉴他人文章的基础之上进行重新修改,虽然其中磕磕绊绊遇到许多问题,但好在一一都解决了,感谢这篇文章说说配置gitlab的webhook时踩过的坑
有话先说
- 关于gitlab
之前已经部署gitlab,并且可以正常使用,之前我的博文有写到关于本地部署gitlab的详细文章,有意者请查看Linux-安装-Gitlab
- 关于git
Linux服务器已经安装了git工具,git的安装,再简单不过,请自行百度!
- 关于环境
我用的是centOs nginx 以及php环境实现的,但是钩子这东西,其实就是一个接口,所以,不管什么语言,其实原理都是一样的。
- 关于PHP和nginx的安装我的博客也有文章写过,请自行查阅Linux-安装-PHP、Linux-安装-Nginx
正文开始
1. 业务场景
- 为了方便管理,用公司一台服务器自行搭建了gitlab用来管理代码,Windows上面开发,然后提交到gitlab之后,服务器代码自动更新。
2. 逻辑介绍
- 提交(git push)时刻,触发钩子,钩子执行相应程序,拉取分支代码,实现自动更新
3. 编写钩子
- 其实就相当于一个接口地址,只要gitlab可以调通就行
- 配置一个nginx站点,并且可访问即可
server {
listen 5698; # 端口