宝塔为例
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

526

被折叠的 条评论
为什么被折叠?



