Gitee项目使用webhook自动部署

一、安装宝塔面板(远程到服务器使用命令行安装)

二、安装nginx(宝塔面板软件商店安装)

安装nginx

三、安装git(远程到服务器使用命令行安装)

安装脚本
# 安装脚本
yum install git
# 检查安装情况
git --version
在服务器上配置SSH公共密钥
# 生成 SSH 密钥, 一路回车
ssh-keygen -t rsa -C "你的邮箱"
# 查看 SSH 公钥
cat ~/.ssh/id_rsa.pub
# 复制生成后的ssh key,添加到Gitee的个人配置中

# 设置全局变量
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
# 会生成.gitconfig 的文件 用于保存
git config --global credential.helper store
# 如果报错: No such file or directory,就用下一行的代码
cat .gitconfig
# 显示内容
cat ~/.gitconfig
上述步骤中复制生成后的ssh key,添加到Gitee的个人配置中

在这里插入图片描述

在服务器上使用git命令拉取项目
# SSH地址
git clone git@gitee.com:你的Gitee 名/项目名.git

四、安装WebHook(宝塔面板软件商店安装)

安装webhook

添加hook
  • 宝塔WebHook使用方法:
    GET/POST:http://IP:PORT/hook?access_key=HOOK密钥&param=自定义参数(在hook脚本中使用$1接收
    例如:你的gitee项目名称为test-project,那么WebHook的完整地址为:http://IP:PORT/hook?access_key=HOOK密钥&param=test-project
纯拉取脚本
  • 以下为纯拉取的脚本,可以直接复制使用,只需要替换脚本中的SSH地址,其他不需要修改
#!/bin/bash
echo ""
#输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "-------开始-------"
#判断宝塔WebHook参数是否存在
if [ ! -n "$1" ];
then
	echo "param参数错误"
	echo "End"
	exit
fi
#服务器 git 项目路径
gitPath="/www/wwwroot/$1"
#码云项目 git 地址  注意使用SSH地址
gitHttp="git@gitee.com:你的Gitee 名/$1.git"

echo "路径:$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 clean -f
	git pull origin master
	echo "拉取完成"
	#执行npm
	#执行编译
	#npm run build
	#设置目录权限
	chown -R www:www $gitPath
	echo "-------结束--------"
	exit
else
	echo "该项目路径不存在"
	echo "End"
	exit
	f

五、在Gitee中配置WebHook地址

添加WebHook
添加webhook

添加完成后点击测试按钮,就可以去宝塔面板的WebHooks中查询运行的日志

运行日志

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值