宝塔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 [email protected]:xxx_long_group/xxx_crm.git ./api

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

over!

---------------------

作者:huha666

来源:CSDN

原文:https://blog.csdn.net/huha666/article/details/86605693

版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(宝塔webhook实现与码云代码同步)