📤 An open source self-hosted continuous integration and deployment system - QQ群: 656868
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
bootstrap
config
database
examples Update crontab example Dec 22, 2017
public
resources
routes
storage
tests Add amazing feature of continuous integration Nov 28, 2017
.editorconfig
.env.example Fix issue #257 May 15, 2018
.gitattributes Update git attributes Nov 17, 2017
.gitignore Initial commit Aug 31, 2016
.gitlab-ci.yml
.php_cs Add amazing feature of continuous integration Nov 28, 2017
.styleci.yml Update .styleci.yml May 15, 2018
.travis.yml
ChangeLog.md
LICENSE Update docs Dec 7, 2017
Makefile
README.md Update readme Jan 5, 2018
VERSION
artisan
codeception.yml
composer.json
composer.lock Update dependencies Jan 10, 2018
package-lock.json Fix avatar uploader Nov 30, 2017
package.json
phpcs.xml
server.php
socket.js Initial commit Aug 31, 2016
webpack.mix.js Remove project template Dec 3, 2017

README.md

Piplin - Composer Cache

StyleCI Build Status Software License

Piplin(灵感来自于"pipeline",读作/ˈpɪpˌlɪn/ 或 /ˈpaɪpˌlaɪn/)是一款免费、开源的持续集成与部署系统,适用于软件的自动化构建、测试和部署相关的各种应用场景。

Screenshot

Piplin能做什么?

  • 支持PHP、Python、JAVA、Ruby等项目的构建、测试与发布
  • 可与Gitlab、Github、Gogs、Gitee(Oschina)等代码托管平台进行集成
  • 可灵活配置自定义构建和部署步骤
  • 支持自定义构建物规则,对构建物创建发布版本并部署
  • 支持项目的多环境部署(可自行建立开发、测试、预发布和生产等多个环境)
  • 支持联动部署,比如:开发环境部署成功后可自动触发测试环境启动部署
  • 服务管理支持机柜功能,机柜可与多个部署环境绑定
  • 支持项目克隆功能
  • 项目支持多成员
  • 通过Websocket实现项目部署状态的实时跟踪
  • 支持钉钉机器人、Slack、邮件和自定义Webhook的服务集成

Piplin原理示意图

总体

Principle

步骤命令

Commands

安装环境要求

Piplin目前只支持类Unix操作系统(如: Linux, Freebsd, Mac OS等),为了能运行Piplin,您还需要安装一些基础软件。

Docker安装,请访问我们的Piplin Docker项目。

安装手册

全新安装

一. 克隆代码

假设我们把Piplin安装在 /var/www 目录下

$ cd /var/www
$ git clone https://github.com/Piplin/Piplin.git piplin

二. 安装依赖包

$ cd piplin
$ make

安装过程如出现卡顿,请尝试更换npm镜像: npm config set registry http://registry.npm.taobao.org/

三. 安装Piplin

$ make install

Piplin安装器会进入一个交互式控制台,请根据提示进行相关参数设置。

四. 请将Web服务器的根目录指向 public/, 请参考 examples/ 下的相关配置文件,里面包含 Apache和Nginx的配置范例.

注意: examples/ 提供的仅仅是范例,并不能保证直接拷贝就能使用,需要根据实际情况进行相关配置调整。

五. 配置supervisord

Piplin使用supervisord进行后台进程管理。该配置范例请查看examples/supervisor.conf。 一般supervisord的主配置文件在 /etc/supervisor/supervisord.conf ,其大致内容:

[unix_http_server]
file=/var/run/supervisor.sock   ; (the path to the socket file)
chmod=0700                       ; sockef file mode (default 0700)

......

[include]
files = /etc/supervisor/conf.d/*.conf
配置步骤如下:

1). 拷贝 examples/supervisor.conf

$ cp examples/supervisor.conf /etc/supervisor/conf.d/piplin.conf
$ vi /etc/supervisor/conf.d/piplin.conf

请根据实际情况修改相关参数设置,尤其注意路径相关的参数。

2). 重启supervisord

$ /etc/init.d/supervisord restart 或 service supervisord restart

3). 检查supervisord服务是否正常

$ supervisorctl

如果返回如下信息,代表服务正常:

piplin:queue_0                   RUNNING   pid 26981, uptime 2 days, 15:30:59
piplin:queue_1                   RUNNING   pid 26980, uptime 2 days, 15:30:59
piplin:queue_2                   RUNNING   pid 26979, uptime 2 days, 15:30:59
piplin-broadcast                 RUNNING   pid 26987, uptime 2 days, 15:30:59
piplin-socketio                  RUNNING   pid 26978, uptime 2 days, 15:30:59
supervisor>

六. 访问Piplin

恭喜!您已完成Piplin的安装。请通过浏览器访问安装过程中设置的应用网址。

如果安装完成之后修改了.env里的配置信息,要记得执行php artisan config:cache使其立即生效。

七. 设置计划任务

计划任务相关的设置请看 examples/crontab.

Piplin的数据备份、项目Git仓库自动镜像等工作依赖于计划任务去实现。

升级

一. 获取最新代码

$ git fetch --all
$ git checkout v1.0.2

二. 升级

$ make update

系统演示

体验Piplin, 请访问 Piplin:

  • 用户名: piplin 或 piplin@piplin.com
  • 密码: piplin

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

帮助文档

更多文档请访问 https://github.com/Piplin/Docshttp://piplin.com/docs

开发相关

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

工具集:

  • Node.js
  • Webpack
npm install
npm run prod

鸣谢

软件授权协议

Piplin is licensed under The MIT License (MIT). Piplin is based on Deployer.