http://u220434.s1.weizhan1.com/admin/login.html
图片展示

云效流水线基于标签功能实现阿里云ECS多环境发布

作者:成都狮龙书廊科技有限责任公司长春分公司 浏览: 发表时间:2022-10-30 07:54:33 来源:12

实现阿里云ECS多环境发布


在软件开发和部署过程中,我们的软件往往需要在不同的运行环境中运行,例如:开发人员本地开发环境、测试团队的测试环境、还有类生产环境和生产环境。在整个研发流程的过程中,针对开发和运维,前者面向需求和代码,后者面向资源和环境,而部署,是两者都会关注的部分。通过本文,你可以了解到,如何通过云效流水线有效拉通开发与运维,打破二者之间的壁垒墙,让开发与运维***联动。
图片 1.png
如果你对云效流水线功能实践想有一个更详细的了解,请参考下面这篇文章:[通过云效流水线实现Java应用构建并部署ECS]
https://thoughts.aliyun.com/sharespace/5e8c387c0aa435001a74f7ab/docs/5f19008b6fd3fa0023fdcef4
一、用户诉求

一般来说,用户使用主机部署诉求如下:
1、 开发人员不需要关注资源变更,只需要按需选择环境进行部署即可。
2、 开发人员能够根据制定好的发布策略,自主发布,不需要手工配置和干预。
3、 运维人员不需关注研发平台,只需做好资源的规划管理即可。
该场景下主要会涉及开发人员跟运维人员两个角色,下面文章中我们主要会这两个角色角度进行讲解。

二、云效解决方案

结合云效交付流水线发布策略及ECS的标签功能,为ECS的多环境发布提供了很好的基础保障,如图:
2.png

三、云效操作实践

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

前置条件
1、 运维人员已购买相应阿里云ECS资源,并配置好相应环境,如本文案例中需要的JDK环境。购买ECS参考链接:https://ecs-buy.aliyun.com/
2、 运维人员,根据需要,对相应ECS资源进行标签配置。标签是云资源的标识,可以帮助您从不同维度对具有相同特征的云资源进行分类、搜索和聚合,让资源管理变得更加轻松。本文中ECS资源及标签设置如图所示:
标签键: environment 标签值:dev、sit、product
3.png

创建流水线
1、 进入云效流水线(https://flow.aliyun.com/my?channel=yy_rccb )。
116C8E17-9500-4DCD-9EFD-7C696EC12360.png

2、点击右上角【新建流水线】,进入流水线创建向导页面。
5.png

3、选择图中标识模板,并点击创建
6.png

配置代码库

  1. 创建流水线之后会自动弹出添加代码源的窗口,这里选择Flow提供的示例代码源,并进行添加
    7.png

配置构建上传任务

  1. 修改一下”Java构建上传“的任务,增加一个打包路径,填入deploy.sh。这个文件存在于代码库中,其中包含了在ECS上进行应用启动的脚本,为了进行后续的主机部署,需要将这个文件也打入到压缩包中,在后续的主机部署任务中可以看到如何使用该deploy.sh。在该配置中指定了target/和deploy.sh两个路径,所以Flow会将这两个文件(夹)打包成为一个压缩包,并进行归档,在Flow中我们称之为制品,该制品也会在后续的主机部署任务中用到。
    8.png

配置部署任务

  1. 接下来配置主机部署任务,在制品下拉框中选择”制品名称.default”,也就是前面的”Java构建上传“步骤归档的那个制品。为了配置主机组,需要先创建一个,点击”新建主机组”。
    9.png
  2. 选择”阿里云ECS“,点击”新建服务授权”,跳转到阿里云,完成RAM授权,然后会自动跳回到Flow。
    10.png

11.png

  1. 此时再选择标签方式添加,依次选择地区、ECS标签键、ECS标签值,点击下一步。
    12.png
  2. 在新弹出的页面中输入主机组名称及主机组环境,点击保存即可。
    13.png
  3. 接下来进行部署脚本的配置:
    • 下载路径:表示希望把”构建上传”任务中的压缩包下载到机器上的什么位置,在本例的值为:/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
    14.png
  4. 部署策略配置
    • 暂停方式:希望一个主机组中的机器以什么样的暂停方式进行,比如***批暂停,每批暂停,或者不暂停。推荐使用***批暂停,在发布完***批之后,对线上服务进行观察,如果没有异常,则可以继续其余批的发布
    • 分批数量:希望主机组中的机器分为几批进行发布。比如一共4台机器,分两批,则每批同时发布2台机器。
    本文中配置如下所示:
    15.png
  5. 部署结果查看
    • 点击右上角保存并执行按钮
    16.png

• 待执行完毕后,点击部署详情按钮查看部署明细。
17.png

18.png

• 通过IP:8080访问验证,如下图所示:
19.png

资源变更场景

  1. 因业务需要,需在开发环境中增加一台机器,运维同学只需在ECS侧准备相应资源,打上相应环境标签即可,如下图所示。
    20.png
  2. 运维同学配置完毕后,开发同学不需做任何变更,直接运行相应环境流水线即可。流水线运行过程中,因为我们之前设置的分批,***批暂停的发布策略,因此流水线会暂停,出现如下状态
    21.png
  3. 此时点击部署详情按钮,进入部署详情页面,确认没有问题后,点击继续按钮,如下图所示
    22.png

23.png


五、结语
通过以上的操作流程,我们可以通过云效流水线,利用标签功能,拉通开发与运维,同时,让开发和运维关注点分离,专注于核心的工作内容,实现ECS的多环境部署。


云效流水线基于标签功能实现阿里云ECS多环境发布
云效流水线基于标签功能实现阿里云ECS多环境发布
长按图片保存/分享
0
你的喜欢,就是我坚持写下去的能量器
好文推荐
已有0人推荐
文章推荐

成都狮龙书廊科技有限责任公司长春分公司 

0431-85741934

admin@毛凌国.我爱你

admin@maolg.site

admin@maolg.info

企业邮箱传真:4008266163-81212 

统一社会信用代码91220101MA14BJJ05D

开户银行名称:中国银行股份有限公司长春汽车厂支行    开户银行代码:104241010003 

开户名称:成都狮龙书廊科技有限责任公司长春分公司    企业账号:163642934965 

地址:长春汽车经济技术开发区一汽集团公司二生活区610栋2单元504号房

 开户银行代码:104241010003

电子邮箱(Email): public@maolg.com 推广链接

网络管理员(administrator): admin@maolg.com    

  ICP备案/许可证编号:蜀 ICP备17015012号-1

 

工商注册号:510109000979446

 

企业微信 狮龙书廊

           百度统计 

 

致力于高端品牌网站建设

我们旨在为客户塑造***的互联网形象,以高品质设计创造商业价值

中国·吉林 .长春

汽车经济技术开发区一汽集团公司二生活区610栋2单元504号房

130000

 

 

 

XX网络科技有限公司  

80% of the industry leaders

 

 

XX网络科技有限公司致力专注于网站建设、企业邮箱、域名空间及服务器、等服务项目;

已为上千家企业提供了网站建设,网页设计,网站程序开发,Flash动画制作,网站售后维护等一条龙专项服务,深受广大客户的好评。

我们拥有专业***的设计和技术团队,以极具创意的网站设计、精湛卓越的网站开发技术,专业的网络策划团队为您量身定制满意的网站建设方案。


 

公司卫星信用标注地址

成都狮龙书廊科技有限责任公司

长春分公司地图开发

狮龙书廊地图开发工具专栏

OpenAdminTools

联合国儿童基金会公益宣传专栏

企业微信 

 毛凌国.我爱你 

企业微信

 

 

 

 

 .      

商务合作伙伴_COOPERATIVE PARTNER

成都獅龍書廊科技有限責任公司

長春分公司 

 

地址:长春市绿园區610栋2门28号號

電話:0431-85741934  手机:13904310313

郵箱:admin@毛凌國.中國

 

 

吉ICP備2022002610-1號, All Rights Reserved

 

客服中心
服务热线:
13904310313
二维码
扫码关注
添加微信好友,详细了解产品
使用企业微信
“扫一扫”加入群聊
复制成功
添加微信好友,详细了解产品
我知道了
吉ICP备2022002610号-1