Fixhub 是一款基于PHP Laravel 5.5框架开发的开源Web自动化部署系统。
注意 Fixhub仍处于并将长期处于初级阶段,下面的部分特性可能还没有100%完成。有任何问题请随时向我们反馈。
- 支持PHP、Python、JAVA、Ruby等项目的发布
- 通过SSH将程序部署到多台服务器上
- 直接从Git仓库克隆项目代码并进行打包、安装
- 执行远程服务器bash命令
- 通过Websocket实现项目部署状态的实时跟踪
- 在服务器保留追溯版本记录,以便快速回滚
- 通过任务计划进行项目健康检测
- 可通过webhook触发部署
- 上线单申请、审核流程
- Slack和邮件通知
- 通过OAuth2.0实现与自托管的Gitlab账户打通
- 权限控制
- 工单,工作流
- 可视化的统计
- 完善后台功能
- API
- Laravel
- Bootstrap
- ionicons
- Node.js
- Beanstalkd
- Redis
- Memcached
- JWT-Auth
- Socket.io
- Supervisor
- Gulp
- Sass
- Codception
- PHP CodeSniffer
- PHP Docblock Checker
- PHP CS Fixer
- Travis-ci
- Style-CI
- Gitlab-Ci
- PHP 7.0.0+或更高(不再支持PHP7以下版本)
- 数据库, 推荐使用MySQL 或 PostgreSQL。 当然SQLite也可以运行。
- Composer
- Redis
- Node.js
- 队列系统, 推荐使用Beanstalkd或Redis。
- 为了确保队列监听、websocket等后台服务的正常运行,推荐使用Supervisor
- 缓存服务推荐使用Memcached, 更多的缓存方案选择请看 caching server.
一. 克隆代码
$ git clone https://github.com/fixhub/fixhub.git
二. 安装依赖包
$ composer install -o --no-dev
三. 安装socket.io
$ npm install --production
四. 确保storage、bootstrap/cache和public/upload目录可写。
$ make file-permission
五. 拷贝.env.example到.env
$ cp .env.example .env
六. 安装Fixhub
$ php artisan app:install
七. 清除配置缓存
$ php artisan config:clear
八. 将你的服务器根目录指向 public/
, 请查看 examples/ 下的相关配置文件,里面包含 Apache和 nginx的配置范例.
九. 启动web socket,配置相关计划任务.
1、 通过supervisor
管理Fixhub后台服务,请看 examples/supervisor.conf
2、 不通过supervisor
管理Fixhub后台服务,你需要手动启动websocket服务。在Fixhub根目录执行node socket.js
(目录监听6001端口)。手动设置计划任务请看 examples/crontab.
一. 获取最新代码
$ git fetch --all
$ git checkout {latest_tag} // please change me
二. 更新依赖
$ composer install -o --no-dev
三. 执行Fixhub升级
$ php artisan app:update
体验Fixhub, 请访问 Fixhub:
- 用户名: demo 或
[email protected]
- 密码:
fixhub
注意:demo账号的角色为开发工程师,没有权限访问管理功能.
Fixhub代码里已经自带编译后的前端静态资源,如果你不想修改前端样式,可直接忽略本环节。
工具集:
- Node.js
- Gulp
npm install
gulp
Fixhub is licensed under The MIT License (MIT).