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

简介

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 于 9个月前 加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 12
fatrbaby

牛批了

9个月前
wujunze

很Nice

9个月前

很实用的工具

9个月前
keer

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

9个月前

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

9个月前

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

file

9个月前

@dinghua 加qq群: 656868

9个月前

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

9个月前

给大佬一个赞

9个月前

正需要这个 感谢大佬分享

9个月前

牛逼,感谢大佬分享!

9个月前

这个和Jenkins 一样的东西吧

2个月前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!