前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >宝塔利用 Git + WebHook 实现与码云同步【自动部署】

宝塔利用 Git + WebHook 实现与码云同步【自动部署】

作者头像
很酷的站长
发布2023-01-10 10:00:06
2.9K0
发布2023-01-10 10:00:06
举报
文章被收录于专栏:站长的编程笔记
1. 将项目拉取到云服务器

拉取指定分支到云服务器

代码语言:javascript
复制
git clone -b 分支名 仓库地址
git clone -b liang https://gitee.com/holyking/test.git

配置永久记住密码

代码语言:javascript
复制
git config --global credential.helper store
2. 配置 SSH 公共密钥

生成 SSH 密钥, 一路回车

代码语言:javascript
复制
ssh-keygen -t rsa

查看 SSH 公钥

代码语言:javascript
复制
cat ~/.ssh/id_rsa.pub

配置 gitee 仓库的 部署公钥

3. 宝塔安装webhook

脚本文件

代码语言:javascript
复制
#!/bin/bash
echo ""
#输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "Start"
#git分支名称
branch="liang"
#git项目路径
gitPath="/www/wwwroot/ft.itqaq.com/test"
#git 仓库地址
gitHttp="https://gitee.com/holyking/test.git"
#gitHttp="http://192.168.2.20/llh/$1.git" //多仓库的时候
echo "Web站点路径:$gitPath"
#判断项目路径是否存在
if [ -d "$gitPath" ]; then
cd $gitPath
#判断是否存在git目录
if [ ! -d ".git" ]; then
echo "在该目录下克隆 git"
sudo git clone $gitHttp gittemp
sudo mv gittemp/.git .
sudo rm -rf gittemp
fi
echo "拉取最新的项目文件"
#sudo git reset --hard origin/$branch
git remote add origin $gitHttp
git branch --set-upstream-to=origin/$branch $branch
sudo git reset --hard origin/$branch
sudo git pull $gitHttp 2>&1
echo "设置目录权限"
sudo chown -R www:www $gitPath
echo "End"
exit
else
echo "该项目路径不存在"
echo "新建项目目录"
mkdir $gitPath
cd $gitPath
#判断是否存在git目录
if [ ! -d ".git" ]; then
echo "在该目录下克隆 git"
sudo git clone $gitHttp gittemp
sudo mv gittemp/.git .
sudo rm -rf gittemp
fi
echo "拉取最新的项目文件"
#sudo git reset --hard origin/$branch
sudo git pull gitHttp 2>&1
echo "设置目录权限"
sudo chown -R www:www $gitPath
echo "End"
exit
fi

脚本文件中的项目目录、git地址、git分支名替换成自己的

代码语言:javascript
复制
# 远程分支
branch="master"
# 换成自己宝塔项目根目录
gitPath="/www/wwwroot/test"
# gitee 仓库地址
gitHttp="https://gitee.com/holyking/test.git"
4. 配置 gitee WebHook

复制宝塔的 WebHook 提供的URL和密钥

在 gitee 仓库的 WebHook 中添加 WebHook

5. 测试同步

码云仓库随意改个文件保存一下, 生成新的提交记录, 看云服务器上有没有同步更新

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 将项目拉取到云服务器
  • 2. 配置 SSH 公共密钥
  • 3. 宝塔安装webhook
  • 4. 配置 gitee WebHook
  • 5. 测试同步
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档