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仓库中查看请求历史

相关推荐
云飞云共享云桌面2 小时前
传统工作站 vs 云飞云共享云桌面:制造业设计云桌面选型深度对比
运维·服务器·前端·网络·3d·架构·制造
OsDepK2 小时前
OSMDE手机AI编程,一键Git
git·ai编程
Maynor9965 小时前
我用 Codex 给自己的网站上线了一个智能体客服:从 Dify 到服务器部署,全程实战复盘
运维·服务器
java_cj6 小时前
深入kubectl create源码:从YAML到Pod的完整链路拆解
运维·云原生·容器·kubernetes
深圳恒讯7 小时前
越南服务器BGP多线和单线有什么区别?
运维·服务器
志栋智能7 小时前
超自动化运维如何提升安全合规水平?
运维·安全·自动化
A_humble_scholar8 小时前
Linux(九) 进程管理完全指南:从入门到实战
linux·运维·chrome
江华森8 小时前
Linux 操作命令完全指南
linux·运维
源图客8 小时前
【AI向量数据库】Weaviate介绍与部署
运维·docker·容器
用什么都重名8 小时前
Git分支合并与远程服务器同步实战:保留关键配置文件
运维·服务器·git