微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

coding上部署webhooks

笔记反复测试并未成功,请慎重操作

服务器端部署免密公钥

生成公钥

ssh-keygen -t rsa -b 4096 -C "gorgle@gorgle.online"

coding项目中部署公钥

复制~/.ssh/id_rsa.pub下的内容,到coding对应的项目中部署公钥

测试部署是否成功

ssh -T git@git.coding.net

服务器端脚本及日志编写

安装使用inotify-tools时时监控文件改变

sudo apt-get install inotify-tools

新建脚本存放目录

cd /home/gorgle

mkdir scripts

mkdir scripts/logs

编写看门狗脚本

进入 /home/gorgle/scripts,新建文件 vim watchdog.sh 写入下面命令

#!/bin/bash

WAIT_DIR=${1-/tmp/git-watchdog/}

inotifywait -qme attrib,modify,move,create,delete $WAITDIR --format '"%w" "%f" "%e" "%T"' --timefmt='%F%T' \
| while read DIR FILE EVENT TIME ;do
echo $DIR $FILE $EVENT $TIME
eval "str=${FILE}"
dir="/home/www/${str}/"
cd $dir
git pull
done

编写启动文件

进入 /home/gorgle/scripts,新建文件 vim startup.sh 写入下面命令

#!/bin/bash

mkdir /tmp/git-watchdog

echo '' > /tmp/git-watchdog/wechat

chmod 666 /tmp/git-watchdog/wechat

su - gorgle -c "nohup /home/gorgle/scripts/watchdog.sh > /home/gorgle/scripts/logs/git.log 2>&1 &"

因为使用 google 用户做的ssh部署,故使用su - google -c "" 执行watchdog.sh

加预启动文件到开机启动文件

将预启动文件放入开机自启动文件/etc/rc.local的exit 0上方

sh /home/gorgle/scripts/startup.sh

建webhooks访问的站点

新建一个站点gorgle.online,用于coding.net的webhook访问。因https会报400错误,所以该站点需使用http方式。在站点对应的入口目录新建 project.PHP ,编写如下代码

PHP

touch('/tmp/git-watchdog/wechat');

echo 'ok';

coding设置webhook

coding.net上设置webhook访问URL:PHP">http://gorgle.online/project.PHP

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐