业务类型:商家应用小程序&EWS的业务请选择“小程序云应用”,电商业务(ERP、商家后台等)请选择电商云应用,
发布方式:选默认的"容器部署"即可
应用类型:
在创建好的应用下点击应用发布,会进入一键配置界面。
注:如果应用已经进行过初始化,或手动配置过部署配置,请跳过这个步骤。
环境的解释
聚石塔会默认生成两种类型的环境,正式环境与测试环境。正式环境与测试环境的容器集群不能是相同的集群。建议手淘互动应用直接配置正式环境就可以。
如果使用官方镜像,请在此界面直接选择容器镜像,并配置实例数量,实例所使用的CPU和内存。
如果使用自定义镜像,请选择“高级设置”进行接下来的操作。
当配置初始化完成后,配置是可以被变更或查看的。如下图所示:
可以看到默认生成了两个环境:测试环境&正式环境。并且每个环境默认生成了两个配置:正式环境系统配置 & 测试环境系统配置。
手淘互动已经一般情况只需要关注正式环境以及正式环境系统配置即可。
点击配置列表后的编辑按钮可以进入编辑配置的界面。如下图所示。
部署根目录:如果镜像需要使用代码包部署,就需要配置部署根目录。官方镜像的部署根目录统一为/acs/code。
日志收集:如果需要通过SLS收集日志,使用方式参考:https://www.yuque.com/fczggw/wu7u0k/fo3ne1
容器配置:
这些配置中需要重点关注的配置是端口映射和健康检查配置。健康检查配置会影响到应用发布过程,只有系统判断配置的健康检查成功之后才会认为是发布成功。
健康检查配置分为两种:
健康检查方式 |
判定为成功的条件 |
http get |
返回的http状态码为200 |
shell脚本 |
脚本正常退出(exit 0) |
需要注意的是:所有的部署配置变更,以及环境实例数量的变更,都需要重新提交发布单才能生效。
对于手淘互动应用而言,暂时只需要关注正式环境的发布。如下图是示,需要注意选择正式环境的Tab。
接下来新建发布单。
发布批数:发布批数是指将指定的实例数量分为几批发布。例如,环境配置了4个实例,这里发布批数为2,则是将4个实例分为两批发布,每批发布2个实例。分批发布可以减少代码变更对线上服务的影响,并且可以达到一定的灰度测试效果。
暂停模式:第一批暂停是部署第一批后,该发布单暂停发布,点击了“恢复”之后才会继续,剩下的批次依次发布了;每批暂停是指每部署完一批都暂停,点“恢复”后开始下一批
发布单创建提交之后,可以看到发布单列表,状态为部署中。
点击发布单后的详情,可以进入到发布实例详情列表。
在这里可以看到发布过程中的实例列表,以及发布完成的实例列表,以及整个发布单的状态。
部署过程中,【查看日志】和【远程登录】是跟进部署进展的最好方式。
查看日志:
如果有一个实例的发布过程一直没有结束(左侧状态不是执行成功),通常是发布过程出现问题。有关发布异常的排查方法详见文档:https://www.yuque.com/fczggw/ec07di/qawru0#CSwn6
如果之前选择了分批发布,当发布完一批之后,需要手动点击恢复按钮,继续后面批次的发布。
当所有实例已经发布完成,并且发布单处于已完成的状态,代表发布成功。
如果发布单一直没有结束,并且定位到了异常,可以手动执行关闭发布单,之后再在修改之后,重新提交发布单。
在发布成功后,就可以在环境管理下,看到自己发布环境的实例数量。
进一步进入管理资源,可以看到启动成功的计算实例列表。
发布失败时,请查看错误信息提示
发布单成功发布,代表应用健康检查已经成功。如果还想进一步验证自己应用的可用性,可以通过远程登录的方式,登录到具体实例中(一个容器运行环境),执行linux命令( 比如curl localhost:8080/healthcheck )来确认自己应用已经真正发布成功。
远程登录的入口在“环境管理”->“资源管理”下,如下图所示。
点击远程登录以后,进入一个容器内的linux bash环境下。可以执行所有和ECS上相同的指令,验证应用是否可用。
由于同一个环境下的所有实例通常拥有相同的环境配置和代码,因此随便选择一个计算实例验证可用性即可。