手把手教你用 Piplin 给 Web 项目做自动化的持续集成与部署 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Hifone
V2EX    PHP

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

  •  
  •   Hifone 2017-12-22 17:35:55 +08:00 3762 次点击
    这是一个创建于 2851 天前的主题,其中的信息可能已经有所发展或是发生改变。

    简介

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

    Screenshot

    Piplin 的 gitub 地址: 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 [email protected] 

    把以下内容追加到 ~/.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 [email protected] 
    $ 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

    2 条回复    2017-12-22 18:49:43 +08:00
    Sanko
        1
    Sanko  
       2017-12-22 18:26:28 +08:00 via Android
    我突然想起了《硅谷》中的 pipe
    carlclone
        2
    carlclone  
       2017-12-22 18:49:43 +08:00
    占个位子
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1341 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 16:46 PVG 00:46 LAX 09:46 JFK 12:46
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86