GitHub 项目自动部署工具
定义
GitHub 项目:您要部署的,托管在 GitHub 上的项目
部署环境:您的 GitHub 项目将要部署的目标环境,可能是 Server、PC 或者 VPS
域名或 ip:您的部署环境的外网域名或 ip
系统要求
适用于 Linux,Ubuntu 12.10 已测试过,其他发行版本未测试。
依赖
Python(2.7) + web.py
安装 (Ubuntu 12.10)
假设部署环境已安装 Python web.py nginx uWSGI uwsgi-plugin-python。
sudo git clone https://github.com/tonghuashuai/pyAutoDeploy
cd pyAutoDeploy
sudo touch uwsgi.pid
sudo uwsgi -x auto.xml
sudo vim pyAutoDeploy
根据实际情况修改域名(ip)和 static 路径地址。
sudo cp pyAutoDeploy /etc/nginx/sites-enabled/
sudo nginx -s reload
访问 http://localhost:8080/install,跳转到首页后安装成功,以后可直接访问 http://localhost:8080。
使用
- (在
GitHub网站或 IDE 中操作)在GitHub项目中添加 cmd.sh 文件,可维护 cmd.sh 文件添加命令,这些命令将在 pull 代码后执行 - (在
GitHub网站中操作)在 GitHub 项目中设置 WebHook URL:http://公网域名或ip:8080/push,Payload version 选择 'Payload version' - (在部署环境中操作)clone
GitHub项目到部署环境 - (在 pyAutoDeploy 中操作)新建 job
- (在 pyAutoDeploy 中操作)输入
GitHub项目地址(结尾没有 .git) - (在 pyAutoDeploy 中操作)输入工作目录,即 clone 到本地的
GitHub项目文件夹所在目录 - (在 pyAutoDeploy 中操作)提交
至此,向 GitHub push 代码后 pyAutoDeploy 将会 pull 代码到部署环境,然后执行 cmd.sh 中的命令。
to do
- 任务计划
- 代码优化
其他
@tonghs:http://www.tonghs.com