在软件开发和部署过程中,我们的软件往往需要在不同的运行环境中运行,例如:开发人员本地开发环境、测试团队的测试环境、还有类生产环境和生产环境。在整个研发流程的过程中,针对开发和运维,前者面向需求和代码,后者面向资源和环境,而部署,是两者都会关注的部分。通过本文,你可以了解到,如何通过云效流水线有效拉通开发与运维,打破二者之间的壁垒墙,让开发与运维***联动。
如果你对云效流水线功能实践想有一个更详细的了解,请参考下面这篇文章:[通过云效流水线实现Java应用构建并部署ECS]
https://thoughts.aliyun.com/sharespace/5e8c387c0aa435001a74f7ab/docs/5f19008b6fd3fa0023fdcef4
一、用户诉求
一般来说,用户使用主机部署诉求如下:
1、 开发人员不需要关注资源变更,只需要按需选择环境进行部署即可。
2、 开发人员能够根据制定好的发布策略,自主发布,不需要手工配置和干预。
3、 运维人员不需关注研发平台,只需做好资源的规划管理即可。
该场景下主要会涉及开发人员跟运维人员两个角色,下面文章中我们主要会这两个角色角度进行讲解。
二、云效解决方案
结合云效交付流水线发布策略及ECS的标签功能,为ECS的多环境发布提供了很好的基础保障,如图:
三、云效操作实践
接下来以一个 Java Spring Boot 的代码库为例,讲解如何通过云效流水线进行阿里云 ECS 的多环境发布。
前置条件
1、 运维人员已购买相应阿里云ECS资源,并配置好相应环境,如本文案例中需要的JDK环境。购买ECS参考链接:https://ecs-buy.aliyun.com/
2、 运维人员,根据需要,对相应ECS资源进行标签配置。标签是云资源的标识,可以帮助您从不同维度对具有相同特征的云资源进行分类、搜索和聚合,让资源管理变得更加轻松。本文中ECS资源及标签设置如图所示:
标签键: environment 标签值:dev、sit、product
创建流水线
1、 进入云效流水线(https://flow.aliyun.com/my?channel=yy_rccb )。
2、点击右上角【新建流水线】,进入流水线创建向导页面。
3、选择图中标识模板,并点击创建
配置代码库
配置构建上传任务
配置部署任务
• 待执行完毕后,点击部署详情按钮查看部署明细。
• 通过IP:8080访问验证,如下图所示:
资源变更场景
五、结语
通过以上的操作流程,我们可以通过云效流水线,利用标签功能,拉通开发与运维,同时,让开发和运维关注点分离,专注于核心的工作内容,实现ECS的多环境部署。