Piplin(灵感来自于"pipeline",读作/ˈpɪpˌlɪn/ 或 /ˈpaɪpˌlaɪn/)是一款免费、开源的持续集成与部署系统,适用于软件的自动化构建、测试和部署相关的各种应用场景。
Piplin能做什么?
- 支持PHP、Python、JAVA、Ruby等项目的构建、测试与发布
- 可与Gitlab、Github、Gogs、Gitee(Oschina)等代码托管平台进行集成
- 可灵活配置自定义构建和部署步骤
- 支持自定义构建物规则,对构建物创建发布版本并部署
- 支持项目的多环境部署(可自行建立开发、测试、预发布和生产等多个环境)
- 支持联动部署,比如:开发环境部署成功后可自动触发测试环境启动部署
- 服务管理支持机柜功能,机柜可与多个部署环境绑定
- 支持项目克隆功能
- 项目支持多成员
- 通过Websocket实现项目部署状态的实时跟踪
- 支持钉钉机器人、Slack、邮件和自定义Webhook的服务集成
Piplin原理示意图
总体
步骤命令
安装环境要求
Piplin目前只支持类Unix操作系统(如: Linux, Freebsd, Mac OS等),为了能运行Piplin,您还需要安装一些基础软件。
- Web服务器: Nginx, Apache (with mod_rewrite),or Lighttpd
- PHP 7.0+
- 数据库: 推荐使用MySQL 或 PostgreSQL。 SQLite也可运行。
- Composer
- Redis
- Node.js
- 队列系统, 推荐使用Beanstalkd或Redis。
- Supservisord, Piplin使用Supervisord进行后台进程管理。
- Rsync 如无特殊情况,一般系统都会自带rsync
- 缓存服务: 推荐使用Memcached, 更多的缓存方案选择请看 caching server.
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安装器会进入一个交互式控制台,请根据提示进行相关参数设置。
public/
, 请参考 examples/ 下的相关配置文件,里面包含 Apache和Nginx的配置范例.
四. 请将Web服务器的根目录指向 注意:
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 或
[email protected]
- 密码:
piplin
注意:系统每5分钟会自动重置一次密码,该账号没有权限访问管理功能.
帮助文档
更多文档请访问 https://github.com/Piplin/Docs 或 http://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.