一、服务器上生成公钥ssh
ssh-keygen -t rsa -C "your_email@example.com"
生成后把公钥放到coding项目仓库中
二、服务器目录git init,拉取下coding上的文件
三、然后配置宝塔钩子代码(如下),生成url配置到coding的开发选项webhook中
宝塔webhook钩子代码
#!/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项目路径 $1为项目名称,这里用$1 参数来获取
gitPath="/data/wwwroot/m.abc.com/$1" (若项目名称跟服务器文件目录不同,可直接写服务器目录)
#git 网址
gitHttp="git@e.coding.net:geenwin/$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 "拉取最新的项目文件"
#origin/master 远程master分支 也可以写其他分支
sudo git reset --hard origin/master
sudo git pull
#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
echo "设置目录权限"
sudo chown -R www:www $gitPath
echo "End"
exit
fi