手把手教你用 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 于 7年前 加精
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 14
fatrbaby

牛批了

7年前 评论

很 Nice

7年前 评论

很实用的工具

7年前 评论

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

7年前 评论

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

7年前 评论

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

file

7年前 评论

@dinghua 加 qq 群: 656868

7年前 评论

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

7年前 评论

正需要这个 感谢大佬分享

7年前 评论

牛逼,感谢大佬分享!

7年前 评论

这个和 Jenkins 一样的东西吧

6年前 评论
tenacity

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

6年前 评论

file

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

5年前 评论