[Git]Git技巧,使用webHook 对代码进行实时更新发布

2020-01-19 发布 0条评论


 

首先,使用宝塔面板的WebHook插件

新建一个插件,脚本按如下输入

#!/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="$1"

#git 网址

gitHttp=" "

 

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

        #拉取最新的项目文件

              echo ""git pull

        sudo git pull

        #设置目录权限

        echo "End"

        exit

else

        echo "该项目路径不存在"

        echo "End"

        exit

fi

 

 

然后在git中进行webhook设置

用github举例,进入仓库的页面,找到 setting- Webhooks

[Git]Git技巧,使用webHook 对代码进行实时更新发布 杂谈 第1张

点击Add WebHook

填写刚刚宝塔面板给出的url路径

http://ip:8888/hook?access_key=xxxxx &param=/home/data/git

将 xxxx替换为 宝塔面板给的accesskey

将ip 替换为宝塔面板的ip

保存即可

 

点击进入webhook项目,查看测试,Code :1 为数据配置成功

[Git]Git技巧,使用webHook 对代码进行实时更新发布 杂谈 第2张

任务执行日志

[Git]Git技巧,使用webHook 对代码进行实时更新发布 杂谈 第3张

 

 

 

 

注:几个小问题

1:使用ssh方式更新git的,可以随意

2:使用私有仓库的可能要输入密码

3:输入 git config --global credential.helper store,然后进行git pull操作,只用输入一次密码即可二

4:使用ubuntu账户的注意,需要在sudo su 之后按照3的方法进行配置