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

相关推荐
赵民勇15 分钟前
systemd-cgtop命令详解
linux·运维
Zhu75841 分钟前
在docker环境部署frp
运维·docker·容器
Black蜡笔小新1 小时前
从智慧社区到雪亮工程:国标GB28181公网平台EasyCVR如何构建视频“一张网”?
人工智能·自动化·easycvr
运维行者_1 小时前
企业带宽监控工具实战:网络流量分析与异常排查的5个关键能力
运维·服务器·开发语言·网络·分布式·后端·php
刚入门的大一新生2 小时前
Linux-Linux第一个系统程序-进度条
linux·运维·服务器
梦想的旅途22 小时前
企业微信自动化实战:客户资料自动修改与备注同步
运维·自动化·企业微信
Geek-Chow2 小时前
Git 标签与发布流程:轻量标签、附注标签与签名标签
git·tags
梦想的旅途22 小时前
企业微信自动化实战:客户通讯录备份与关系自动迁移
运维·自动化·企业微信
wear工程师2 小时前
Git 冲突怎么解决:别只删标记,先看懂暂存区的 1、2、3 阶段
git
村雨遥2 小时前
覆盖提交不等于删除,这才是彻底清除 Git 历史的正确姿势
git·github