宝塔 WebHook 实现git自动拉取服务器代码

2020-03-24  本文已影响0人  Rogi

网上有很多教程都是需要配置公匙的,这篇文章是2020.3.24写的,宝塔WebHook 1.2,本篇文章不教你怎么添加公匙,设置公匙,而是直接通过WebHook进行同步更新代码,其实非常简单

  1. 拷贝项目


    拷贝项目
  2. 然后输入git config --global credential.helper store

  3. 执行git pull

  4. 这个时候他会让你输入账号密码(由于之前我已经设置过了,所以它截图看不到输入账号密码的过程


  5. 最关键的一步,宝塔WebHook添加一个钩子


    添加钩子
  6. 把钩子内容粘贴进去


    编辑钩子

    钩子内容(需要两处:修改的git项目路径,以及码云仓库信息)

#!/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="/home/$1"
#git 网址
gitHttp="https://gitee.com/你的码云/$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 "拉取最新的项目文件"
        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

复制完了,直接提交就好

  1. 查看钩子秘钥


    钩子秘钥
  2. 复制红框内容


  3. 打开码云,然后打开需要更新的仓库----->管理----->WebHooks


  4. 把刚刚复制的内容粘贴URL到里面去,提交。注意:红框内容需要更换成现在这个仓库的名字。


  5. 点击测试


  6. 返回宝塔WebHook然后查看刚刚钩子的日志



上一篇 下一篇

猜你喜欢

热点阅读