使用宝塔面板配置webhook,自动拉取代码

doudi2023-06-15日常干货311

步骤一

安装webhook

在宝塔控制面板-》软件商店 找到webhook,点击安装

54b4cca7d35a1b6a84d6906bfe436e5c_119e95b9e48207492b025ad1aeceb465.png

步骤二

点击设置-》添加-》输入名称和执行脚本

7c850eef81370a5993af76347e774f02_9e937912406e2ed09fd4c2f6b948d493.png

注意:1.名称必须与码云上的项目名称一致,还要去拉取下来后的文件夹名称一致

   2.执行脚本如下(不做修改)

# !/bin/bash
echo ""
# 输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "-------开始-------"
# 判断宝塔 WebHook 参数是否存在
if [ ! -n "$1" ];
then
          echo "param参数错误"
          echo "-------结束-------"
          exit
fi
# web服务器 git 项目路径
gitPath="/www/wwwroot/$1"
# 码云项目 SSH 网址 (重点: 千万不要用 https 地址)
gitHttp="git@gitee.com:sgrh/$1.git"
echo "Web站点路径:$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 pull origin master
        # 设置目录权限
        chown -R www:www $gitPath
        echo "-----拉取成功-----"
        exit
else
        echo "该项目路径不存在"
        echo "-------结束-------"
        exit
fi

提交即可

步骤三

登入码云,找到项目,添加webhooks

e93497a85a03f68c8341e34ff3f134d7_4087bfb0f62b9adad79ac3bbd073d9ce.png

输入url和webhook密码

url和webhook密码在步骤二我们添加完可以看到,把相应的值复制进去即可,提交即可

fc5c198db9eea0fec8bf66c022d44afa_f4b0e8a8293a5967335788975ce850c7.png

步骤四

接下来就是测试

最重要的一步就是要下git pull 码云上的代码

然后就是提交一下代码到码云,看看是否同步到你的项目

查看webhook执行日志

=====================注意====================================

如果发现脚本能执行,但是一直pull 不到 最新版本可能是权限原因

将脚本换成  

   sudo  git reset --hard origin/master
   sudo  git pull origin master


5.私有项目还需要做以下操作

生成ssh公钥

. 服务器 输入命令cd ~/.ssh && ls查看有没有SSH key ,是否存在下图两个文件

如果没有 ,用命令ssh-keygen -t rsa -C "your_email@example.com"生成

三步回车 然后 用命令 cat id_rsa.pub查看证书内容 复制

b26eaeb920c942eacaf7a03ee0fe2cb9_50f412c18b424f499aae63ed8f1f12d2.png

添加好公钥 使用命令 ssh -T git@gitee.com 测试链接

b4988e7dd2c56a39e6a990a927eac858_a1feeac8d7bb4d53b38086f22304bde3.png

将地址换码云项目地址即可

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。