07
06月
2025
宝塔为例
1、安装 宝塔WebHook 1.2
2、复制下面代码到红色方框中
#!/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 网址 gitHttp="git@gitee.com:sgrh/$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 fi
3、复制秘钥和链接到码云上
我的参数是
相当于4、在服务器上对应上文件夹路径。然后再拉取下代码git clone 码云地址
如果是私有化的,输入密码没有保存的话。可以用以下命令
git config --global credential.helper store
可以正常拉取了。那么您就可以本地提交代码,线上也更新了码云代码。非常好用哦。
如果是前端分离的可以拉取部分代码,然后重复1-4步骤即可
git init git remote add -f origin git@IP:XXX.git git config core.sparsecheckout true echo "web" >> .git/info/sparse-checkout git checkout master
其他的命令也可以,具体如下咯
#!/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="/www/wwwroot/$1" #git 网址 gitHttp="git@gitee.com:xxx/xxx.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/master git remote add origin $gitHttp git branch --set-upstream-to=origin/master master sudo git reset --hard origin/master 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/master sudo git pull gitHttp 2>&1 echo "设置目录权限" sudo chown -R www:www $gitPath echo "End" exit fi