借助webhook搭建CICD
2021-06-18 本文已影响0人
梦中程序员
CICD
项目开发过程中,我们需要持续集成和交付,如果公司没有自己的CICD工具,服务器权限给的又不能太高,我们就可以借助git的webhook功能搭建一个简易的部署方案
核心思想
- 代码提交到仓库以后触发钩子
- 在服务器的钩子地址中拉去代码并配置部署命令(只负责启动相关程序,不负责搭建环境)
- 依赖git,安装命令
yum install -y git - 依赖composer,有的服务器composer版本是1系列,我们升级到2系列
composer self-update,最好配置成国内镜像 - 如果PHP版本高的话,建议安装fileinfo扩展,supervisor、redis等用到的可以安装,会话和进程相关命令不要禁用,posix和pcntl
配置教程
- 宝塔安装
- 安装宝塔webhook(省的我们自己写)
- 生成一个www用户的公钥(拉去代码使用),命令
sudo -Hu www ssh-keygen -C "leruge",一路回车即可,最后看到在/home/www/.ssh/下有公钥和私钥俩个文件 - 查看公钥,并把公钥配置到仓库中,查看命令
cat /home/www/.ssh/id_rsa.pub - 服务器第一次拉去代码会提示是否拉取,所以需要手动拉取一次
- 添加一个webhook,名字起的我们能够识别就行,命令根据情况写,如下
cd /项目目录
sudo -Hu www git pull
sudo -Hu www composer install
- 需要重启相关软件的,可以自行写命令
- 如果用到socket、消息队列、redis、supervisor等,自行写命令
到此为止,一个简易的CICD工具就搭建好了