乐趣区

关于大数据:如何高效完成ECS多环境部署

简介:通过本文,你能够理解到,如何通过云效流水线无效拉通开发与运维,突破二者之间的壁垒墙,让开发与运维高效联动。在软件开发和部署过程中,咱们的软件往往须要在不同的运行环境中运行,例如:开发人员本地开发环境、测试团队的测试环境、还有类生产环境和生产环境。在整个研发流程的过程中,针对开发和运维,前者面向需要和代码,后者面向资源和环境,而部署,是两者都会关注的局部。

一、背景

在软件开发和部署过程中,咱们的软件往往须要在不同的运行环境中运行,例如:开发人员本地开发环境、测试团队的测试环境、还有类生产环境和生产环境。在整个研发流程的过程中,针对开发和运维,前者面向需要和代码,后者面向资源和环境,而部署,是两者都会关注的局部。通过本文,你能够理解到,如何通过云效流水线无效拉通开发与运维,突破二者之间的壁垒墙,让开发与运维高效联动。

二、用户诉求

一般来说,用户应用主机部署诉求如下:

1、开发人员不须要关注资源变更,只须要按需抉择环境进行部署即可。

2、开发人员可能依据制订好的公布策略,自主公布,不须要手工配置和干涉。

3、运维人员不需关注研发平台,只需做好资源的布局治理即可。

三、云效解决方案

联合云效交付流水线公布策略及 ECS 的标签性能,为 ECS 的多环境公布提供了很好的根底保障,如图:

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

四、云效操作实际

前置条件

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

1、运维人员已购买相应阿里云 ECS 资源,并配置好相应环境,如本文案例中须要的 JDK 环境。

2、运维人员,依据须要,对相应 ECS 资源进行标签配置。标签是云资源的标识,能够帮忙您从不同维度对具备雷同特色的云资源进行分类、搜寻和聚合,让资源管理变得更加轻松。本文中 ECS 资源及标签设置如图所示:

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

创立流水线

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

2、抉择图中标识模板,并点击创立

配置代码库

创立流水线之后会自动弹出增加代码源的窗口,这里抉择 Flow 提供的示例代码源,并进行增加

配置构建上传工作

批改一下”Java 构建上传“的工作,减少一个打包门路,填入 deploy.sh。这个文件存在于代码库中,其中蕴含了在 ECS 上进行利用启动的脚本,为了进行后续的主机部署,须要将这个文件也打入到压缩包中,在后续的主机部署工作中能够看到如何应用该 deploy.sh。在该配置中指定了 target/ 和 deploy.sh 两个门路,所以 Flow 会将这两个文件(夹)打包成为一个压缩包,并进行归档,在 Flow 中咱们称之为制品,该制品也会在后续的主机部署工作中用到。

配置部署工作

1、接下来配置主机部署工作,在制品下拉框中抉择”制品名称.default”,也就是后面的”Java 构建上传“步骤归档的那个制品。为了配置主机组,须要先创立一个,点击”新建主机组”。

2、抉择”阿里云 ECS“,点击”新建服务受权”,跳转到阿里云,实现 RAM 受权,而后会主动跳回到 Flow。

3、此时再抉择标签形式增加,顺次抉择地区、ECS 标签键、ECS 标签值,点击下一步。

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

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

6、部署策略配置

暂停形式:心愿一个主机组中的机器以什么样的暂停形式进行,比方第一批暂停,每批暂停,或者不暂停。举荐应用第一批暂停,在公布完第一批之后,对线上服务进行察看,如果没有异样,则能够持续其余批的公布
分批数量:心愿主机组中的机器分为几批进行公布。比方一共 4 台机器,分两批,则每批同时公布 2 台机器。
本文中配置如下所示:

7、部署后果查看

点击右上角保留并执行按钮

待执行结束后,点击部署详情按钮查看部署明细。

通过 IP:8080 拜访验证,如下图所示:

资源变更场景

因业务须要,需在开发环境中减少一台机器,运维同学只需在 ECS 侧筹备相应资源,打上相应环境标签即可,如下图所示。

运维同学配置结束后,开发同学不需做任何变更,间接运行相应环境流水线即可。流水线运行过程中,因为咱们之前设置的分批,第一批暂停的公布策略,因而流水线会暂停,呈现如下状态

此时点击部署详 4. 情按钮,进入部署详情页面,确认没有问题后,点击持续按钮,如下图所示

五、结语

通过以上的操作流程,咱们能够通过云效流水线,利用标签性能,拉通开发与运维,同时,让开发和运维关注点拆散,专一于外围的工作内容,实现高效的 ECS 多环境部署。

原文链接
本文为阿里云原创内容,未经容许不得转载。

退出移动版