linuxvps建站教程,网络营销就是,vs做网站示例,贵阳网站建设搜q479185700简介#xff1a;通过本文#xff0c;你可以了解到#xff0c;如何通过云效流水线有效拉通开发与运维#xff0c;打破二者之间的壁垒墙#xff0c;让开发与运维高效联动。在软件开发和部署过程中#xff0c;我们的软件往往需要在不同的运行环境中运行#xff0c;例如通过本文你可以了解到如何通过云效流水线有效拉通开发与运维打破二者之间的壁垒墙让开发与运维高效联动。在软件开发和部署过程中我们的软件往往需要在不同的运行环境中运行例如开发人员本地开发环境、测试团队的测试环境、还有类生产环境和生产环境。在整个研发流程的过程中针对开发和运维前者面向需求和代码后者面向资源和环境而部署是两者都会关注的部分。
一、背景
在软件开发和部署过程中我们的软件往往需要在不同的运行环境中运行例如开发人员本地开发环境、测试团队的测试环境、还有类生产环境和生产环境。在整个研发流程的过程中针对开发和运维前者面向需求和代码后者面向资源和环境而部署是两者都会关注的部分。通过本文你可以了解到如何通过云效流水线有效拉通开发与运维打破二者之间的壁垒墙让开发与运维高效联动。 二、用户诉求
一般来说用户使用主机部署诉求如下
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多环境部署。
原文链接
本文为阿里云原创内容未经允许不得转载。