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

来源:CSDN

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,820评论 0 10
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,465评论 0 5
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 4,781评论 0 11
  • 第 2 章 SHELL 基础知识2.1 shell脚本我们在上面简单介绍了一下什么是shell脚本,现在我们来进一...
    LiWei_9e4b阅读 1,592评论 0 0
  • 『导言』 iOS开发中如何用NSOperation进行快速的下载图片,并且图片显示?其中子线程和主线程如何通信? ...
    随心吧阅读 302评论 0 2