文档

应用部署

更新时间:

经典应用服务提供应用的发布、回滚功能,您可以对需要发布的应用编辑依赖关系、调整服务器分组,并选择部署策略等。

前提条件

  • 应用和服务器绑定,且服务器经过初始化。

  • 应用存在发布包。

  • 灰度引流功能需要应用绑定 SLB 或添加至 SLB 下的虚拟服务器组。

  • 通知功能要求用户在侧栏的 设置 > 通知 中配置钉钉接收群。

操作步骤

经典应用服务的操作分为以下几大步骤:

  1. 进入发布部署大盘

  2. 查看发布部署大盘

  3. 新建并执行发布单

  4. 操作发布单

  5. 回滚

进入发布部署大盘

进入经典应用服务控制台,单击左侧导航栏中的 应用发布 > 发布单 进入发布部署大盘。

查看发布部署大盘

发布部署大盘提供总览功能,展示了 未发布发布中阻塞中待确认发布成功发布异常 等状态的发布单,如下图所示。

1.png
  • 区域 ①:发布单大盘总览,显示发布单总体信息。单击某个状态信息,区域 3 即展示处于相应状态的发布单,否则区域 3 展示所有发布单;

  • 区域 ②:提供筛选功能,用户可以按照输入的条件筛选所有发布单,并在区域 3 展示符合条件的发布单;

  • 区域 ③:发布单信息显示区域。

新建并执行发布单

发布部署大盘 页面,单击 创建 按钮即进入新建发布流程。新建发布分为三个步骤:编辑基础信息、编辑高级信息、预览提交。

  1. 编辑以下基础信息。

    • 标题:自定义发布标题。

    • 类型:选择发布方式。

      说明

      只有双机房工作空间下,才支持蓝绿发布。

    • 分组策略:决定该发布单下所有应用服务器的分组规则,目前支持快速分组、按部署单元分组、每台一组、共分一组。

    • 使用 Beta 分组:开启 Beta 分组后,发布时,给服务器分组设置一个特殊的 Beta 分组,即系统从每个数据中心获取一台机器,加入 Beta 分组,Beta 分组会在第一组(组 1)之前发布。

      Beta 分组发布完成后系统会自动暂停应用发布,此时系统负责人或者 PE 需要对应用的发布情况进行确认。若应用发布正常,则单击 Beta 分组确认,使应用继续分组发布。Beta 分组可以与所有分组策略共同决定分组。创建新的发布申请时,默认 使用 Beta 分组,此时同一个发布单上的所有应用都设置 Beta 分组。如果不需要使用 Beta 分组,则取消该选项。

    • 使用灰度引流:针对开启 使用灰度引流 的发布单,系统在分组发布完成后 不执行 SLB 引流操作,用户可自行调整服务器的 SLB 流量权重。在发布单中的所有机器分组,都具备 Beta 分组的特性,需要用户发布完成后单击 确认,才真正结束当前分组的发布流程。

      重要

      只有成功完成发布的服务器才可进行 SLB 流量权重的调整,对于所有非成功态的机器实例,只能查看机器的 SLB 流量权重数据,但不得进行修改。在应用发布过程中,调整流量权重的入口对所有已完成发布的机器组开放,在整个应用发布完成后关闭。

    • 设置 SLB 引流权重:完成发布后不再使用快照权重进行引流,而使用当前设置的权重。

    • 开启钉钉消息:如果需要对发布单进行实时跟进,可通过开启 开启钉钉消息 来订阅应用及 Beta 分组的发布情况。订阅前需提前注册钉钉机器人账号,并从左侧菜单栏中选择 设置 > 通知 添加钉钉消息来完成配置,否则该功能无效。

    • 部署单元:选择服务实例发布的部署单位,至少选择一个部署单元。

    • 应用列表:用户可以在 待选应用列表 中单击选择需要的应用,单击 添加 将应用添加到 已选应用列表 中。

      说明

      仅那些有发布包的应用可供选择。如果要删除已选择的应用,则可以在 已选应用列表 中单击选择所需的应用,再单击 删除 即可。

      如果不需要编辑部署策略、部署参数以及多个应用之间的依赖关系,则直接单击 快速创建 执行应用发布。

  2. 编辑高级信息。

    • 从缓存中安装技术栈:选择是否从缓存中安装技术栈。

      说明

      仅使用技术栈 2.0 的相关应用支持该功能。

    • 升级/降级技术栈:若开启该功能,可以更改技术栈的版本(但不能更改技术栈)。

    • 部署参数:支持以下方式的参数添加方式:

      • 整体添加:若选择整体添加,则对所有应用添加相同的参数。

      • 指定添加:若只是在应用对应的输入框中添加,则只添加到指定的应用。

      • 批量添加:若选择批量添加,批量添加参数支持文本格式为 [参数名]=[参数值],参数名只能包含 [A~Z、a~z、0~9、_、-、.],多个参数使用空格或换行隔开,例如 k1=v1 k2=v2

    • 依赖关系:当选择了 2 个及以上应用时,可能需要填写应用之间的依赖关系。如果应用之间不存在依赖关系,则直接跳过。

      添加依赖关系方式分为:

      • 逐条添加:在 依赖于 列中输入某个应用所依赖的应用名称(可以同时选择多个)。若应用 tmp 依赖应用 testapp,则在 tmp 对应的 依赖于 列中输入 testapp 即可,依赖于多个应用时同理。

      • 快速添加:不推荐使用。用户可通过类似于 应用名 1 > 应用名 2,应用名 3 > 应用名 4 这个表达式编辑应用之间的依赖关系。

        说明

        表达式中的应用名称不可重复,> 符号左边的应用依赖于右边的应用,而且 > 两边不可有空格,两个表达式之间使用半角 , 隔开。

        应用之间不可循环依赖,即不可出现“应用 A 依赖于应用 B,同时应用 B 又依赖于应用 A”这种情况。如果存在循环依赖,则单击 下一步 按钮时,屏幕上会报错存在循环依赖,请重新编辑依赖关系。

      单击 下一步 按钮,进入 预览提交 页面。

  3. 预览提交。

    进入 预览提交 页面,用户可以在该页面上确认所有发布申请的信息。

    如果在 编辑高级信息 中添加了依赖关系,那么系统会自动根据依赖关系对应用进行分组,其中不需要依赖任何其它应用的应用会被分入 A1 分组,依赖于 A1 分组中的应用会被分入 A2 分组,依次类推。在发布应用时,系统会先发布 A1 分组的应用,再发布 A2 分组的应用,依次类推。

    若用户需要修改发布顺序,则单击 上一步 按钮,重新编辑应用之间的依赖关系。若确认无误,则单击 创建 按钮,创建发布单,系统会自动跳转到发布单详情页面。

操作发布单

进入 发布单详情 页面,如下图所示。

2.png
  • 区域 ①:发布单基本信息,包括发布单标题、ID、发布状态、发布进度、应用数量等信息。

  • 区域 ②:发布单操作区,根据实际的发布情况,用户可以进行重新初始化、整体发布、取消发布单、开始发布、编辑发布顺序等操作。取消发布单后,不能再对该发布单进行任何操作。开始发布时,系统会根据依赖层级先发布 A1 或 B1 分组中的应用(即不依赖于其它应用的应用),再发布其它分组中的应用。

  • 区域 ③:根据应用发布状态筛选应用,单击每个状态,即可筛选出相应状态的应用并显示在区域 4。该区域还显示处于各个状态的应用数量。

  • 区域 ④:应用展示区,展示所有应用的发布进度及状态。用户可以单击 分组发布,执行指定的分组(只有无前置应用,或者前置应用全部发布完成的分组才能单击 分组发布)。

编辑发布顺序

发布单详情 页面的区域 2 中单击 编辑发布顺序,进入 编辑发布顺序 页面。

  • 移动应用:编辑发布顺序时,根据应用分组、串行分组,通过拖动目标应用至目标分组即可编辑应用的发布顺序。

  • 添加应用分组:每个应用分组之间并行发布。添加应用分组后,即可新增一个并行发布的分组,然后再移动应用到该分组。例如:单击 添加应用分组 新增一个 B1 分组,然后移动应用至 B1 分组。

  • 添加串行分组:单击 + 添加串行分组,即可在该应用分组追加一个空的串行分组,然后再移动应用至该分组。

  • 删除分组:单击每个分组右边的 删除,即可删除该串行分组。若一个应用分组下所有的串行分组都被删除,则该应用分组被删除。

编辑完成之后,单击 完成并返回 按钮,即可返回 发布单详情 页面。

应用发布详情

发布单详情 页面的区域 4 中单击应用名称,进入 应用发布详情 页面,如下图所示。

3.png
  • 区域 ①:显示应用基本信息。该区域会显示应用名称、ID、发布包版本、发布状态、执行进度、发布类型、服务器分组策略、服务器数量、分组数量等信息。如果有多个应用,可以直接在不同应用之间切换。

  • 区域 ②:应用操作区。用户可以执行发布或取消发布、同步服务器、分组调整等操作。

    • 发布:仅发布当前应用;

    • 取消发布:若取消发布,则本次发布部署中,用户不能再对该应用进行任何操作,且整个发布单的状态不受该应用的影响;

    • 分组调整:可以对服务器进行新增分组、删除分组和组间移动服务器等操作。控制同一个应用下的发布顺序;

    • 同步服务器:当需要同步服务器信息时,会显示该按钮。比如,创建发布单之后,如果有新增、删除、上线、下线机器的情况即需要同步服务器信息。

  • 区域 ③:服务器筛选及服务器状态信息,单击每个状态,即可根据该状态进行过滤,在区域 4 显示相应状态的服务器信息,同时该区域还显示处于各个状态的服务器数量。

  • 区域 ④:服务器分组区,用于展示服务器分组、服务器发布状态、发布详情,并且可以进行查看详情,分组取消等操作:

    • 详情:发布完成、正在发布、发布失败的分组,用户可以查看该分组中应用发布部署的详情,包括进度、状态、执行时间、失败原因等重要信息。

分组调整

应用发布详情 页面的区域 2 中,单击 分组调整 按钮,进入 分组调整 页面。

其中包括:重新分组、删除分组、分组调整三个功能。

  • 重新分组:重新选择服务器分组策略对 ECS 进行分组。

  • 删除分组:在某个分组的最右端单击 删除 即可删除当前分组,并将该分组的 ECS 移动到 待分配 组。待分配 组中的 ECS 不进行部署。

  • 移动分组:用户可以单击某台 ECS,移动其到指定的目标分组。

完成编辑之后,单击 完成并返回,即回到 应用发布详情 页面。

SLB 灰度引流

如果应用在发布前绑定了 SLB 或绑定了 SLB 下虚拟服务器组,则在创建发布单时,可勾选使用灰度引流。

相对于不打开灰度引流开关的发布单,使用灰度引流后,系统在完成单机发布后不再自动根据快照流量恢复 SLB(及虚拟服务器组) 权重,取而代之,通过人为调整 SLB(及虚拟服务器组) 下的机器权重,实现对已成功发布的机器进行灰度引流。

单击 调整流量权重 后,弹出以下界面,用户可根据操作提示进行流量权重操作。需要注意的是,对机器权重的调整仅对状态为 成功 的机器生效,对状态为 失败 的机器不允许调整流量并保持为 0。

钉钉消息

在应用发布中,可配置 钉钉消息 订阅发布的实时通知。在应用发布开始及应用发布完成这两个阶段,接收钉钉群通知。

在左侧栏 设置 中选择 通知,进行钉钉群配置。

在创建发布单的时候,可再次确认是否勾选 开启钉钉消息 来订阅实时通知。若没有设置钉钉消息,勾选无效。

回滚

对于正在发布、发布失败的应用,用户可以在 应用发布详情 页面进行回滚。

单击 回滚,弹出如下对话框。

应用发布详情 _ 应用回滚 _ 失败

回滚条件:只有当前应用有其它成功发布的发布包(除当前版本外)时,用户才可以回滚应用。若无成功发布的其它发布包,对话框中即出现如上图所示提示。

若含有成功发布的历史版本,则界面如下。

应用发布详情 _ 应用回滚_成功

在以上对话框中,可以填写 回滚原因,选择分组策略,之后再单击 确定 按钮,页面自动跳转至 应用发布详情 页面,并自动回滚应用。

回滚详情 页签,查看当前回滚进度、详细信息。

上次部署 页签,查看回滚前发布的信息。