Article / 文章中心

如何高效完成ECS多环境部署?

发布时间:2022-01-24 点击数:473

简介:
 经过本文,你能够了解到,怎么经过云效流水线有用拉通开发与运维,打破二者之间的壁垒墙,让开发与运维高效联动。在软件开发和布置过程中,咱们的软件往往需求在不同的运转环境中运转,例如:开发人员本地开发环境、测验团队的测验环境、还有类出产环境和出产环境。在整个研制流程的过程中,针对开发和运维,前者面向需求和代码,后者面向资源和环境,而布置,是两者都会重视的部分。

一、背景

在软件开发和布置过程中,咱们的软件往往需求在不同的运转环境中运转,例如:开发人员本地开发环境、测验团队的测验环境、还有类出产环境和出产环境。在整个研制流程的过程中,针对开发和运维,前者面向需求和代码,后者面向资源和环境,而布置,是两者都会重视的部分。经过本文,你能够了解到,怎么经过云效流水线有用拉通开发与运维,打破二者之间的壁垒墙,让开发与运维高效联动。

image.png

二、用户诉求

一般来说,用户运用主机布置诉求如下:

1、开发人员不需求重视资源改变,只需求按需挑选环境进行布置即可。

2、开发人员能够根据制定好的发布战略,自主发布,不需求手工装备和干预。

3、运维人员不需重视研制渠道,只需做好资源的规划管理即可。

三、云效解决方案

结合云效交付流水线发布战略及ECS的标签功用,为ECS的多环境发布供给了很好的根底保障,如图:

该场景下首要会触及开发人员跟运维人员两个角色,下面文章中咱们首要会这两个角色角度进行解说。

image.png

四、云效操作实践

前置条件

接下来以一个 Java Spring Boot 的代码库为例,解说怎么经过云效流水线进行阿里云 ECS 的多环境发布。

1、运维人员已购买相应阿里云ECS资源,并装备好相应环境,如本文事例中需求的JDK环境。

2、运维人员,根据需求,对相应ECS资源进行标签装备。标签是云资源的标识,能够帮助您从不同维度对具有相同特征的云资源进行分类、搜索和聚合,让资源管理变得愈加轻松。本文中ECS资源及标签设置如图所示:

标签键:environment 标签值:dev、sit、product

image.png

创立流水线

1、进入云效流水线,点击右上角【新建流水线】,进入流水线创立向导页面。

image.png

2、挑选图中标识模板,并点击创立

image.png

装备代码库

  1. 创立流水线之后会主动弹出添加代码源的窗口,这儿挑选Flow供给的示例代码源,并进行添加

image.png

装备构建上传使命

修正一下”Java构建上传“的使命,增加一个打包路径,填入deploy.sh。这个文件存在于代码库中,其中包含了在ECS上进行应用发动的脚本,为了进行后续的主机布置,需求将这个文件也打入到紧缩包中,在后续的主机布置使命中能够看到怎么运用该deploy.sh。在该装备中指定了target/和deploy.sh两个路径,所以Flow会将这两个文件(夹)打包成为一个紧缩包,并进行归档,在Flow中咱们称之为制品,该制品也会在后续的主机布置使命中用到。

image.png

装备布置使命

1、接下来装备主机布置使命,在制品下拉框中挑选”制品称号.default”,也便是前面的”Java构建上传“步骤归档的那个制品。为了装备主机组,需求先创立一个,点击”新建主机组”。

image.png

2、挑选”阿里云ECS“,点击”新建服务授权”,跳转到阿里云,完结RAM授权,然后会主动跳回到Flow。

image.png

image.png

3、此时再挑选标签方法添加,顺次挑选地区、ECS标签键、ECS标签值,点击下一步。

image.png

4、在新弹出的页面中输入主机组称号及主机组环境,点击保存即可。

image.png

5、接下来进行布置脚本的装备:

  • 下载路径:表示期望把”构建上传”使命中的紧缩包下载到机器上的什么位置,在本例的值为:/home/admin/app/package.tgz
  • 履行用户:期望所以哪个用户的身份进行脚本履行,本例的值为:root
  • 布置脚本:在机器上履行脚本的具体内容,本例的值为:

mkdir -p/home/admin/application/tar zxvf /home/admin/app/package.tgz -C/home/admin/application/sh /home/admin/application/deploy.sh restart

image.png

6、布置战略装备

  • 暂停方法:期望一个主机组中的机器以什么样的暂停方法进行,比方第一批暂停,每批暂停,或许不暂停。推荐运用第一批暂停,在发布完第一批之后,对线上服务进行调查,假如没有异常,则能够继续其他批的发布
  • 分批数量:期望主机组中的机器分为几批进行发布。比方一共4台机器,分两批,则每批一起发布2台机器。

本文中装备如下所示:

image.png

7、布置成果检查

  • 点击右上角保存并履行按钮

image.png

  • 待履行完毕后,点击布置概况按钮检查布置明细。

image.png

image.png

  • 经过IP:8080访问验证,如下图所示:

image.png

资源改变场景

  1. 因业务需求,需在开发环境中增加一台机器,运维同学只需在ECS侧准备相应资源,打上相应环境标签即可,如下图所示。

image.png

  1. 运维同学装备完毕后,开发同学不需做任何改变,直接运转相应环境流水线即可。流水线运转过程中,因为咱们之前设置的分批,第一批暂停的发布战略,因而流水线会暂停,出现如下状况

image.png

  1. 此时点击布置详4. 情按钮,进入布置概况页面,承认没有问题后,点击继续按钮,如下图所示

image.png

五、结语

经过以上的操作流程,咱们能够经过云效流水线,利用标签功用,拉通开发与运维,一起,让开发和运维重视点别离,专注于核心的作业内容,实现高效的ECS多环境布置。