笔记反复测试并未成功,请慎重操作
服务器端部署免密公钥
生成公钥
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 举报,一经查实,本站将立刻删除。