lbhook
WebHook 触发执行 Shell 脚本
安装
npm install -g lbhook
使用说明
输入 lbhook 即可得到帮助
Usage: lbhook <command> [options] Options: -V, --version output the version number -h, --help output usage information Commands: start start lbhook server stop stop lbhook server list show all hooks add <name> <shell> add hook rm <name> remove hook init <type> initializes a shell script in the current directory Run lbhook <comman> --help
示例
启动 lbhook
lbhook start
lbhook start 执行后,会开启 lbhook 服务,服务启动在 11333 端口。
添加 hook
# 创建触发的脚本 touch test.sh# 添加脚本内容:hook 触发时创建 test 文件夹 echo "mkdir test" > test.sh# 添加 hook lbhook add test test.sh# 查看 hook 是否添加 lbhook list# 输出:address 需要添加到 git 仓库的 WebHook 去 Name Shell address -------------- ----------------------------------------- ------------------------------------------ test /root/pro/lbhook/test.sh http://119.23.215.213:11333/test
在 git 仓库添加 WebHook
将刚刚 list 输出的 address 添加到 Git 仓库的 WebHook 中去
http://119.23.215.213:11333/test
对仓库发起 push 请求后将触发 webhook,webhook 会触发服务器添加的 hook , shell脚本执行,test 文件夹被创建。 hook 执行 shell 脚本的日志会输出在 ./.lbhook/ 文件夹下。
自动部署
借由此功能可以实现 Push 到 Git 仓库,触发服务器 Hook,Shell脚本执行,来完成一个简单的自动部署。
init 命令
lbhook 已经内置了一些初始模板:
- egg Egg.js 的更新与启动
- up 仅从拉取最新的 commit
- vue Vue 的更新与构建
使用方法:
# 到仓库目录执行以下一条命令,他们会在当前目录创建其对应的 lbhook.sh 脚本 lbhook init egglbhook init uplbhook init vue# 添加到 hook lbhook add egg-test lbhook.sh# 查看地址 lbhook list
将地址添加到 git 仓库的 webhook 完成。