基于名字自动灰度发布

简要描述:

  • 基于名字自动灰度发布

请求URL:

  • http://127.0.0.1:3000/rex?token=1527665686lyoxihoxrulkoxwevyuanwtnkrddgpwr

请求方式:

  • POST

参数:

参数名 必选 类型 说明
action string deploy
k string 名字参数
senv string 自动取包源环境,该环境在config.yml中配置,你可以自定义其他环境。
url string http下载更新包
full string 1增量更新 2全量更新

详细说明:
具体灰度发布支持3种方式:
1.跨环境自动取包更新
2.自定义下载url更新
3.手动上传更新包更新

具体说明: 请参见文档

具体的超级实践说明,请参考: 高级实践(1) 基于名字服务的灰度发布

请求示例

action=deploy&k=server&senv=uat

返回示例

{ 
     "code" : "0",  //0 成功 非0 失败
     "data" : {  //返回数据
          "code" : "0",  //0 成功 非0 失败
          "data" : {  //返回数据
               "0" : {  //返回第1个数据
                    "code" : "0",  //0 成功 非0 失败
                    "data" : {  //返回数据
                         "0" : {  //返回第1个数据
                              "deloy_configdir_after" : "/data/www/config1_20180530_043756",  //配置发布之后的真实路径
                              "deloy_configdir_before" : "/data/www/config1_20180521_043510",  //配置发布之前的真实路径
                              "deloy_prodir_after" : "/data/www/html1_20180530_043756",  //工程发布之后的真实路径
                              "deloy_prodir_before" : "/data/www/html1_20180521_043510",  //工程发布之前的真实路径
                              "deloy_prodir_real_before" : { 
                              }, 
                              "deloy_size" : "32M /data/www/html1_20180530_043756 24K /data/www/config1_20180530_043756",  //发布之后的工程和配置大小
                              "deploy_ip" : "192.168.0.76",  //执行发布的IP地址
                              "deploy_key" : "server1",  //执行发布的唯一名字
                              "deploy_take" : "Total Take:23 || Rsync Time:15 || Start App Time:4",  //执行发布的时间消耗
                              "end_time" : "2018-05-30 04:39:52",  //执行发布的结束时间
                              "processNumber" : "2",  //执行发布后的应用进程数量
                              "randomStr" : "1527665969426659803",  //执行发布的唯一随机字符串
                              "rollRecord" : "0",  //执行发布的回滚记录
                              "rollStatus" : "0",  //执行发布的回滚状态
                              "rollbackNumber" : "0",  //执行发布的回滚次数
                              "rsync_war_time" : "2018-05-30 04:39:44",  //执行发布的开始传输包时间
                              "start_app_time" : "2018-05-30 04:39:48",  //执行发布的启动app时间
                              "start_time" : "2018-05-30 04:39:29"  //执行发布的开始时间
                         }, 
                    }, 
                    "endtime" : "2018-05-30 04:40:17", 
                    "msg" : "server1 have finshed deploy", 
                    "starttime" : "2018-05-30 04:37:56" 
               }, 
               "1" : {  //返回第2个数据
                    "code" : "0",  //0 成功 非0 失败
                    "data" : {  //返回数据
                         "0" : {  //返回第1个数据
                              "deloy_configdir_after" : "/data/www/config2_20180530_043756",  //配置发布之后的真实路径
                              "deloy_configdir_before" : "/data/www/config2_20180521_043510",  //配置发布之前的真实路径
                              "deloy_prodir_after" : "/data/www/html2_20180530_043756",  //工程发布之后的真实路径
                              "deloy_prodir_before" : "/data/www/html2_20180521_043510",  //工程发布之前的真实路径
                              "deloy_prodir_real_before" : { 
                              }, 
                              "deloy_size" : "32M /data/www/html2_20180530_043756 24K /data/www/config2_20180530_043756",  //发布之后的工程和配置大小
                              "deploy_ip" : "192.168.0.248",  //执行发布的IP地址
                              "deploy_key" : "server2",  //执行发布的唯一名字
                              "deploy_take" : "Total Take:23 || Rsync Time:15 || Start App Time:4",  //执行发布的时间消耗
                              "end_time" : "2018-05-30 04:42:20",  //执行发布的结束时间
                              "processNumber" : "2",  //执行发布后的应用进程数量
                              "randomStr" : "1527666117630166853",  //执行发布的唯一随机字符串
                              "rollRecord" : "0",  //执行发布的回滚记录
                              "rollStatus" : "0",  //执行发布的回滚状态
                              "rollbackNumber" : "0",  //执行发布的回滚次数
                              "rsync_war_time" : "2018-05-30 04:42:12",  //执行发布的开始传输包时间
                              "start_app_time" : "2018-05-30 04:42:16",  //执行发布的启动app时间
                              "start_time" : "2018-05-30 04:41:57"  //执行发布的开始时间
                         }, 
                    }, 
                    "endtime" : "2018-05-30 04:42:46", 
                    "msg" : "server2 have finshed deploy", 
                    "starttime" : "2018-05-30 04:40:17" 
               }, 
               "2" : {  //返回第3个数据
                    "code" : "0",  //0 成功 非0 失败
                    "msg" : "server have deploy finshed" 
               }, 
          }, 
          "msg" : "server 全部灰度发布完成" 
     }, 
     "param" : { //请求参数
          "action" : "deploy",  //请求模块
          "k" : "server",  //名字
          "senv" : "uat", 
          "token" : "1527665686lyoxihoxrulkoxwevyuanwtnkrddgpwr"  //token
     }, 
     "parseparameters" : {  //解析,组合以及校验参数结果
          "code" : "0",  //0 成功 非0 失败
          "msg" : "校验和解析参数成功", 
          "precmd" : "",  //请求参数前缀
          "requestCmd" : "deploy,--k="server",--senv="uat",--token="1527665686lyoxihoxrulkoxwevyuanwtnkrddgpwr",--w="1""  //请求参数后缀
     }, 
     "print_stdout" : "0",  //是否打印输出结果 0 不打印 1 打印
     "respon" : {  //请求命令返回结果信息
          "chdir" : "/data/RexdeployV3",  //命令执行路径
          "cmd" : "/usr/bin/rex  -qF  deploy --k="server" --senv="uat" --token="1527665686lyoxihoxrulkoxwevyuanwtnkrddgpwr" --w="1"",  //执行命令
          "code" : "1", 
          "msg" : "执行完成", 
          "ret" : "0",  //最终执行命令返回值 0 成功 非0失败
          "stderr" : "",  //最终执行命令标准错误输出
          "stdout" : ""  //最终执行命令标准输出
     }, 
     "take" : "292"  //执行命令花费时间
 }

results matching ""

    No results matching ""