Fixhub 是一款基于PHP Laravel 5.5框架开发的开源Web自动化部署系统。
- 支持PHP、Python、JAVA、Ruby等项目的发布
- 通过SSH将程序部署到多台服务器上
- 直接从Git仓库克隆项目代码并进行打包、安装
- 可灵活配置自定义部署步骤
- 支持项目的多环境部署(可自行建立开发、测试、预发布和生产等多个环境)
- 支持联动部署,比如:开发环境部署成功后可自动触发测试环境启动部署
- 服务管理支持机柜功能,机柜可与多个部署环境绑定
- 支持项目克隆与模板功能
- 支持项目成员,项目可添加个多个成员
- 通过Websocket实现项目部署状态的实时跟踪
- 支持Gitlab、Github、Gogs、Gitee(Oschina)等代码托管平台进行集成
- 支持钉钉机器人、Slack、邮件和自定义Webhook的服务集成
Fixhub目前只支持类Unix操作系统(如: Linux, Freebsd, Mac OS等),为了能运行Fixhub,您还需要安装一些基础软件。
- Web服务器: Nginx, Apache (with mod_rewrite),or Lighttpd
- PHP 7.0+
- 数据库: 推荐使用MySQL 或 PostgreSQL。 SQLite也可运行。
- Composer
- Redis
- Node.js
- 队列系统, 推荐使用Beanstalkd或Redis。
- Supservisord, Fixhub使用Supervisord进行后台进程管理。
- Rsync 如无特殊情况,一般系统都会自带rsync
- 缓存服务推荐使用Memcached, 更多的缓存方案选择请看 caching server.
一. 克隆代码
$ git clone https://github.com/fixhub/fixhub.git
二. 安装依赖包
$ composer install -o --no-dev
三. 安装socket.io依赖环境
$ npm install --production
安装过程如出现卡顿,请尝试更换npm镜像:
npm config set registry http://registry.npm.taobao.org/
四. 确保storage、bootstrap/cache和public/upload目录可写。
$ make file-permission
五. 拷贝.env.example到.env
$ cp .env.example .env
六. 安装Fixhub
$ php artisan app:install
Fixhub安装器会进入一个交互式控制台,请根据提示进行相关参数设置。
七. 请将Web服务器的根目录指向 public/
, 请参考 examples/ 下的相关配置文件,里面包含 Apache和 nginx的配置范例.
注意:
examples/
提供的仅仅是范例,并不能保证直接拷贝就能使用,需要根据实际情况进行相关配置调整。
八. 后台进程管理
配置supervisor
进行后台进程维持,请查看 examples/supervisor.conf,根据实际情况进行相关配置调整。
计划任务相关的设置请看 examples/crontab.
九. 访问Fixhub
恭喜!您已完成Fixhub的安装。请通过浏览器访问安装过程中设置的应用网址。
我有Fixhub,你有故事吗?请开始你的表演。
一. 获取最新代码
$ git fetch --all
$ git checkout 0.4.3
二. 更新依赖
$ composer install -o --no-dev
三. 执行Fixhub升级
$ php artisan app:update
体验Fixhub, 请访问 Fixhub:
- 用户名: fixhub 或
[email protected]
- 密码:
fixhub
注意:系统每5分钟会自动重置一次密码,该账号没有权限访问管理功能.
- Laravel
- Supervisord
- Beanstalkd
- Redis
- Memcached
- Bootstrap
- ionicons
- Node.js
- JWT-Auth
- Socket.io
- jQuery
- underscore
- ioredis
- Webpack
- Sass
- Codception
- PHP CodeSniffer
- PHP Docblock Checker
- PHP CS Fixer
- Travis-ci
- Style-CI
- Gitlab-Ci
Fixhub代码里已经自带编译后的前端静态资源,如果你不想修改前端样式,可直接忽略本环节。
工具集:
- Node.js
- Webpack
npm install
npm run prod
Fixhub is licensed under The MIT License (MIT).