zoukankan      html  css  js  c++  java
  • 使用gitlab, jenkins搭建CI(持续集成)系统(4) 灰度发布publish

    publish环境是正式环境,和dev, test, prepublish环境不同的是,正式环境一般要更加谨慎一些,发布的时候需要有一个灰度过程,即:分多次部署,每次部署几个服务器节点,验证没有问题以后,再部署几台,直到所有的节点多部署完成。

    jenkins提供的一种choice parameter的构建参数类型,可以使用这种参数类型实现灰度发布的功能。

    添加一个名为DEPLOY的choice parameter, 添加两个选项group01, group02。

    接下来修改构建脚本

    ############

    export appname="example-springbootmvc"

    export master_user="root"
    export master_appsdir="/apps"
    export master_iplist="192.168.1.41"

    export test_user="root"
    export test_appsdir="/apps"
    export test_iplist="192.168.1.42"

    export release_user="root"
    export release_appsdir="/apps"
    export release_iplist="192.168.1.43,192.168.1.44"

    export publish_user="root"
    export publish_appsdir="/apps"
    #定义choice paramter DEPLOY 可选值 group01 group02
    export publish_group01_iplist="192.168.1.45"
    export publish_group02_iplist="192.168.1.46"


    /root/jenkins/scripts/distanddeploy.sh

    ####################

    在distanddeeploy.sh中

    if [ "$BRANCH" = "publish" ]; then
    eval iplist=$${BRANCH}_${DEPLOY}_iplist
    fi

    这里使用了DEPLOY变量,这个变量只会影响publish构建过程。

    手动触发构建时,BRANCH填publish,  DEPLOY选择group01时,对应的是

    export publish_group01_iplist="192.168.1.45"

    将会部署192.168.1.45节点

    当DEPLOY选择group02时,对应的是

    export publish_group02_iplist="192.168.1.46"

    将会部署192.168.1.46节点

    部署完成之后验证

    在浏览器上输入 

    http://192.168.1.45:9303/rest/get

    http://192.168.1.46:9303/rest/get 

    返回类似于:

    {"retCode":0,"errMsg":null,"data":{"userId":"11111","timeStamp":1521293070588,"info":"this is 9 env:realpublish"}}

    这就表示部署成功啦!! 

  • 相关阅读:
    40.lombok在IntelliJ IDEA下的使用
    39.Intellij导入子项目时,maven列表子项目灰色不可用---解决方法
    38.IntelliJ IDEA中创建Web聚合项目(Maven多模块项目)
    Log4j.properties 属性详解以及 LOG4J日志级别详解
    3.lombok系列3:lombok的实验类特性
    2.lombok系列2:lombok注解详解
    1.lombok系列1:初识lombok
    DIV和SPAN的区别
    37.Intellij IDEA解决GBK乱码
    WebService三大基本元素 SOAP WSDL UDDI
  • 原文地址:https://www.cnblogs.com/brandonli/p/8592867.html
Copyright © 2011-2022 走看看