2017 © Pedro Peláez
 

project piplin

Piplin is a self-hosted continuous integration and deployment system, intended to automatically build, test, and deploy your project over the web.

image

piplin/piplin

Piplin is a self-hosted continuous integration and deployment system, intended to automatically build, test, and deploy your project over the web.

  • Tuesday, May 15, 2018
  • by phecho
  • Repository
  • 60 Watchers
  • 856 Stars
  • 34 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 176 Forks
  • 10 Open issues
  • 34 Versions
  • 17 % Grown

The README.md

Fixhub

StyleCI Build Status Software License, (*1)

Fixhub 是一款基于PHP Laravel 5.5框架开发的开源Web自动化部署系统。, (*2)

Screenshot, (*3)

Fixhub能做什么?

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

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

下一阶段需要实现的功能

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

使用到的技术

  • [x] Laravel
  • [x] Bootstrap
  • [x] ionicons
  • [x] Node.js
  • [x] Beanstalkd
  • [x] Redis
  • [x] Memcached
  • [x] JWT-Auth
  • [x] Socket.io
  • [x] Supervisor

开发使用到的技术

  • [x] Gulp
  • [x] Sass
  • [x] Codception
  • [x] PHP CodeSniffer
  • [x] PHP Docblock Checker
  • [x] PHP CS Fixer
  • [x] Travis-ci
  • [x] Style-CI
  • [x] Gitlab-Ci

安装环境要求

可选项

  • 为了确保队列监听、websocket等后台服务的正常运行,推荐使用Supervisor
  • 缓存服务推荐使用Memcached, 更多的缓存方案选择请看 caching server.

安装手册

一. 克隆代码, (*5)

$ git clone https://github.com/fixhub/fixhub.git

二. 安装依赖包, (*6)

$ composer install -o --no-dev

三. 安装socket.io, (*7)

$ npm install --production

四. 确保storage、bootstrap/cache和public/upload目录可写。, (*8)

$ make file-permission

五. 拷贝.env.example到.env, (*9)

$ cp .env.example .env

六. 安装Fixhub, (*10)

$ php artisan app:install

七. 清除配置缓存, (*11)

$ php artisan config:clear

八. 将你的服务器根目录指向 public/, 请查看 examples/ 下的相关配置文件,里面包含 Apache和 nginx的配置范例., (*12)

九. 启动web socket,配置相关计划任务., (*13)

1、 通过supervisor管理Fixhub后台服务,请看 examples/supervisor.conf, (*14)

2、 不通过supervisor管理Fixhub后台服务,你需要手动启动websocket服务。在Fixhub根目录执行node socket.js (目录监听6001端口)。手动设置计划任务请看 examples/crontab., (*15)

升级

一. 获取最新代码, (*16)

$ git fetch --all
$ git checkout {latest_tag} // please change me
 ```

二. 更新依赖

```shell
$ composer install -o --no-dev

三. 执行Fixhub升级, (*17)

$ php artisan app:update

系统演示

体验Fixhub, 请访问 Fixhub:, (*18)

  • 用户名: fixhub 或 fixhub@fixhub.org
  • 密码: fixhub

注意:系统会每5分钟自动重置一次密码,该账号没有权限访问管理功能., (*19)

开发相关

Fixhub代码里已经自带编译后的前端静态资源,如果你不想修改前端样式,可直接忽略本环节。, (*20)

工具集:, (*21)

  • Node.js
  • Gulp
npm install
gulp

鸣谢

软件授权协议

Fixhub is licensed under The MIT License (MIT)., (*22)

The Versions