sy-records / git-deploy
Using WebHooks to automatically pull code.
Fund package maintenance!
donate.qq52o.me
sy-records
Installs: 16
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 1
Forks: 1
Open Issues: 0
Type:project
pkg:composer/sy-records/git-deploy
Requires
- php: >=7.1
- ext-swoole: >=4.0
Requires (Dev)
- swoole/ide-helper: ^4.6
README
🍭 Using WebHooks to automatically pull code.
Support
- GitHub
- Gitee
- Gitea
- GitLab
依赖
- php >= 7.1
- ext-swoole (可以直接使用 swoole-cli)
安装
composer create-project sy-records/git-deploy
配置
- 修改配置文件
config.json
server对应的是Swoole\Http\Server的相关配置
ip:IP地址port:端口mode:启动模式SWOOLE_BASE/SWOOLE_PROCESSsettings:Server的配置
正式运行时需要启动守护进程,将
daemonize修改为1
"server": { "ip": "0.0.0.0", "port": 9666, "mode": 1, "settings": { "worker_num": 1, "daemonize": 0 } },
sites对应的是项目的仓库等信息
分为github和gitee,key是仓库名称,支持多个仓库。
secret/password:密钥/密码;github使用secret,gitee的 WebHook 密码使用password,签名密钥使用secretref:分支event_name:事件名称;github为push,gitee为push_hooksshells:需要执行的脚本
"sites": { "github": { "sy-records/git-deploy": { "secret": "password", "ref": "refs/heads/master", "event_name": "push", "shells": [ "git -C /yourpath/git-deploy pull" ] } }, "gitee": { "sy-records/git-deploy": { "password": "password", "ref": "refs/heads/master", "event_name": "push_hooks", "shells": [ "git -C /yourpath/git-deploy pull" ] } }, "gitea": { "sy-records/git-deploy": { "secret": "password", "ref": "refs/heads/master", "event_name": "push", "shells": [ "git -C /yourpath/git-deploy pull" ] } }, "gitlab": { "sy-records/git-deploy": { "secret": "password", "ref": "refs/heads/master", "event_name": "push", "shells": [ "git -C /yourpath/git-deploy pull" ] } } }
- 填写WebHook
URL:http://ip:port/github or http://ip:port/gitee
Secret/PassWord:对应config.json中的secret/password
启动
php start.php
systemd
[Unit]
Description=Git Depoly Service
After=network.target
[Service]
ExecStart=/usr/bin/php /workspace/git-deploy/start.php
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target