Piplin

:outbox_tray: An open source self-hosted continuous integration and deployment system - QQ群: 656868

1039
194
PHP

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:

注意:系统每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.