PHP+Lunix+GIT 如何快速使用宝塔WebHook快速自动化部署

搭建前需准备:git仓库(我这里使用的gitee 其他的异曲同工)

宝塔一个

背景:很多小伙伴在本地开发完上传完远程还需要在服务器进行拉取项目才会更新 ,这样的操作虽然对线上项目较为安全但是在处于测试情况下费事费力,所以在这里运用webhook快速部署一个"钩子"

复制代码
git pull origin master

操作:

1、给对应仓库部署公钥

如果不知道这个公钥在哪里的小伙伴可以继续往下看:

复制代码
/**
** 使用这命令进入服务器查看是否存在id_rsa.pub 公钥
**/
cd ~/.ssh 

/**
**生成
**/
ssh-keygen -t rsa 

/**
**查看
**/
cat ~/.ssh/id_rsa.pub

将服务器所得到的公钥复制到 下面,这一步就ok了

2、宝塔安装webhook及其部署

添加Hook

复制代码
#!/bin/bash
echo ""
#输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "Start"
#判断宝塔WebHook参数是否存在
#if [ ! -n "$1" ];
#then
#          echo "param参数错误"
 #         echo "End"
 #         exit
#fi
#git项目路径 项目代码服务器所在位置路径
gitPath=" "
#git 网址 ssh网址避免用https
gitHttp=" "

echo "Web站点路径:$gitPath"
 
#判断项目路径是否存在
if [ -d "$gitPath" ]; then
        cd $gitPath
        #判断是否存在git目录
        if [ ! -d ".git" ]; then
                echo "在该目录下克隆 git"
                git clone $gitHttp gittemp
                mv gittemp/.git .
rm -rf gittemp
        fi
        #拉取最新的项目文件
        #git reset --hard origin/master
        git pull
        #设置目录权限
        #chown -R www:www $gitPath
        echo "End"
        exit
else
        echo "该项目路径不存在"
        echo "End"
        exit
fi

将以上脚本写入 注意项目路径

配置完后需要重启宝塔服务器!!!!!要不然配置文件不生效

3、仓库部署webhooks

url 后的随机码可以不用加

下面的选择事件默认或者 自己勾选

跑测一下!!!宝塔查看日志 或者 在gitee仓库中查看请求历史

相关推荐
Championship.23.244 小时前
Linux 3.0 锁机制与故障排查详解
linux·运维·服务器
养肥胖虎4 小时前
Git提交规范笔记:feat和fix到底该怎么写
git·conventionalcommits
手握风云-5 小时前
深入 Git:它是如何记录世界的(二)
git
风123456789~6 小时前
【Linux专栏】ls 排除某个文件
linux·运维·服务器
其实防守也摸鱼7 小时前
运维--学习阶段问题解答(1)(自测)
linux·运维·服务器·数据库·学习·自动化·命令模式
GJGCY7 小时前
财务智能体落地实践:RPA、大模型与规则引擎如何构建业财自动化闭环?
经验分享·ai·自动化·财务·智能体
Darkwanderor8 小时前
对Linux的进程控制的研究
linux·运维·c++
爱网络爱Linux11 小时前
Linux proc 目录安全加固
linux·运维·rhce·rhca·红帽认证·proc 目录安全加固
MindUp12 小时前
企业网盘权限模型解析:多层级访问控制与审计能力选型指南
java·linux·运维
持力行12 小时前
D-BUS会话总线
运维·网络