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

2017-12-22 17:35:55 +08:00
 Hifone

简介

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

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

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

项目设置

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

一、创建项目

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

二、设置构建计划

1、添加构建服务器

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

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、开始测试构建服务器的连通状态

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

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

$ mkdir -p /var/www/piplin

再次开始测试,测试成功

4、设置出品定义

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

6、添加后置命令:

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

8、生成 tar 包

9、导出 tar 包

10、开始第一次构建

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

三、设置部署计划

1、添加部署环境:

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

填写服务器信息

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、测试服务器连通状态

5、开始设置部署步骤

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

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

5.3、更新缓存

6、部署步骤全貌

7、生成构建版本

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

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

10、部署成功

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

3380 次点击
所在节点    PHP
2 条回复
Sanko
2017-12-22 18:26:28 +08:00
我突然想起了《硅谷》中的 pipe
carlclone
2017-12-22 18:49:43 +08:00
占个位子

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/416887

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX