手把手教你用 Piplin 给 Laravel 项目做自动化的持续集成与部署

简介

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

Screenshot

Piplin的github地址:https://github.com/Piplin/Piplin

演示地址:http://demo.piplin.com/ 感兴趣的朋友可以使用自己的Github账号或者我们提供的演示账号登录体验。
我们的演示账号信息如下:
用户名:piplin
密码:piplin

项目设置

假设我们的服务器情况如下:

  • Piplin宿主机:127.0.0.1
  • 构建服务器:192.168.75.40
  • 远程服务器:192.168.10.10

一、创建项目

project1

创建成功后系统会自动进入项目详情页

project2

二、设置构建计划

1、添加构建服务器
project3

2、将项目公钥添加到构建服务器
project4

ssh root@192.168.75.40

把以下内容追加到 ~/.ssh/authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7E0tQBis2bl18L5bl0HsY+HYK4aYnF8bOOY+TnK5+QyWY/kfnza2P7mtU+B2bnEeihOUnty3oj+D2Uc8EtpHfe1BzjxB9iLgg0Fd5UZZ16ggBWnWmYk8u/Bq6AwSDlb/wWtBrmzWDwE8seFj7PMDEXeKj2fu0kVayqMKkhzhJc/WXVJ99wDnmrDYCBd4R8w6x2W5p/rkf+bWE8TIY7DpO4KRLspz+8MoXSUo6XEyF+gOy035oVwu3lSTXZ3luCSXVvHidGwtexAMRZPY4abi+X3DkYNjly0m6+Ku5GGdwfIAbbGdYfPwaERmjPKeCQTgOnO+EQppswE2ADCp+tpfj worker@piplin

3、开始测试构建服务器的连通状态
project5

一旦失败了,会有提示出错信息,这里提示项目路径没有创建

project6

我们登录这台服务器,创建一下项目路径

$ mkdir -p /var/www/piplin

再次开始测试,测试成功
project6

4、设置出品定义
project10

5、设置构建步骤,我们在开始构建的后置步骤做composer install,安装依赖包。

project7

6、添加后置命令:
project8

7、单元测试:这里我们简单做一下语法和注释的检查
project9

8、生成tar包
project11

9、导出tar包
project13

10、开始第一次构建
project12

构建成功,会有构建物产生(这里我们先不创建构建版本)
project14

三、设置部署计划

1、添加部署环境:

project15

2、往该环境里添加一台服务器

project16

填写服务器信息
project17

3、同样,这里也需要往这台服务器添加项目公钥,并创建项目路径

ssh root@192.168.10.10
$ mkdir -p /var/www/piplin

把以下内容追加到 ~/.ssh/authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7E0tQBis2bl18L5bl0HsY+HYK4aYnF8bOOY+TnK5+QyWY/kfnza2P7mtU+B2bnEeihOUnty3oj+D2Uc8EtpHfe1BzjxB9iLgg0Fd5UZZ16ggBWnWmYk8u/Bq6AwSDlb/wWtBrmzWDwE8seFj7PMDEXeKj2fu0kVayqMKkhzhJc/WXVJ99wDnmrDYCBd4R8w6x2W5p/rkf+bWE8TIY7DpO4KRLspz+8MoXSUo6XEyF+gOy035oVwu3lSTXZ3luCSXVvHidGwtexAMRZPY4abi+X3DkYNjly0m6+Ku5GGdwfIAbbGdYfPwaERmjPKeCQTgOnO+EQppswE2ADCp+tpfj worker@piplin

4、测试服务器连通状态

project18

5、开始设置部署步骤

5.1、在安装新版本的后置命令中设置
project19

5.2、解压缩安装包,并将它删除
project20

5.3、更新缓存
project21

6、部署步骤全貌
project22

7、生成构建版本
project23

8、构建版本生成成功,从这里可以直接进入部署
project24

9、系统会自动选中构建版本
project25

10、部署成功
project26

11、让我们进入192.168.10.10看看项目的部署情况

project27

project28

本帖已被设为精华帖!
本帖由 Summer 于 6年前 加精
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 14
fatrbaby

牛批了

6年前 评论

很Nice

6年前 评论

很实用的工具

6年前 评论

只能给laravel用吗? 比如ci框架或者tp 又或者 原生项目 用着是不是挺麻烦?

6年前 评论

@keer 不限制laravel的,教程只是举例,而且也没有提到有laravel特有的东西。

6年前 评论

@phecho
创建发布版本提示成功, 但页面没有看到开始部署按钮.

file

6年前 评论

升级了最新的代码, 已经解决了

6年前 评论

正需要这个 感谢大佬分享

6年前 评论

牛逼,感谢大佬分享!

6年前 评论

这个和Jenkins 一样的东西吧

5年前 评论
tenacity

卡住了 ,连通状态一直转圈显示测试中

5年前 评论

file

file
请问一下,supervisor 启动服务失败是什么原因导致的?

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!