宝塔webhook实现与码云代码同步

1.给阿里云linux服务器安装git(安装宝塔面板后自带git),同时给宝塔面板安装webhook.

2.添加shell脚本,如上图,点击添加,数据名称 和 执行脚本(此处执行脚本框中 直接输入shell脚本可能会被过滤,所以可以先随便添加点东西,然后再重新添加shell脚本),shell脚本如下,添加完后如上图所示:

#!/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/api"
#git 网址
gitHttp="https://gitee.com/xxx_long_group/xxx_crm.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
        #设置目录权限
        #chown -R www:www $gitPath
        echo "End"
        exit
else
        echo "该项目路径不存在"
        echo "End"
        exit
fi

3.点击查看密钥,获取地址http://面板/hook?...

4.添加公钥

--如何生成public key
 

 cd root/.ssh
 cat id_rsa.pub
 ssh-keygen
 cat id_rsa.pub

 

5.在码云中进行对应操作,找到对应项目,在'Webhooks设置'右侧点击添加,然后输入地址,默认选中Push,密码为空,提交。

点击测试。

6.用git把码云上的代码复制到服务器上,

在wwwroot目录下,用'./api'可以直接生成 api 目录 

git clone git@gitee.com:xxx_long_group/xxx_crm.git ./api

7.从本地上传代码到码云,再看下服务器上的代码是否有更新验证下。

over!


版权声明:本文为huha666原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。