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