gychg / Fixhub

A free and open source web deployment system based on Laravel 5.3

Home Page:http://fixhub.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fixhub

StyleCI Build Status Software License

Fixhub 是一款免费、开源,基于Laravel 5.3框架开发的web自动部署系统。

Screenshot

Fixhub能做什么?

注意 Fixhub仍处于并将长期处于初级阶段,下面的部分特性可能还没有100%完成,即使完成了也有可能会有bug。有任何问题请随时向我们反馈。

  • 支持PHP、Python、JAVA、Ruby等项目的发布
  • 通过SSH将程序部署到多台服务器上
  • 直接从Git仓库克隆项目代码并进行打包、安装
  • 执行远程服务器bash命令
  • 通过Websocket实现项目部署状态的实时跟踪
  • 在服务器保留追溯版本记录,以便快速回滚
  • 通过任务计划进行项目健康检测
  • 可通过webhook触发部署
  • 上线单申请、审核流程
  • Slack和邮件通知

下一阶段需要实现的功能

  • 通过OAuth2.0实现与自托管的Gitlab账户打通
  • 权限控制
  • 工单,工作流
  • 可视化的统计
  • 完善后台功能
  • API

使用到的技术

  • Laravel 5.3
  • 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

安装环境要求

可选项

  • 为了确保队列监听、websoket等后台服务的正常运行,推荐使用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

七. 将你的服务器根目录指向 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 或 demo@fixhub.org
  • 密码: fixhub

注意:demo账号的角色为开发工程师,没有权限访问管理功能.

鸣谢

软件授权协议

Fixhub is licensed under The MIT License (MIT).

About

A free and open source web deployment system based on Laravel 5.3

http://fixhub.org

License:MIT License


Languages

Language:PHP 54.7%Language:CSS 23.2%Language:HTML 11.4%Language:JavaScript 10.3%Language:Shell 0.2%Language:Makefile 0.1%Language:ApacheConf 0.0%