重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在软件开发和部署过程中,我们的软件往往需要在不同的运行环境中运行,例如:开发人员本地开发环境、测试团队的测试环境、还有类生产环境和生产环境。在整个研发流程的过程中,针对开发和运维,前者面向需求和代码,后者面向资源和环境,而部署,是两者都会关注的部分。通过本文,你可以了解到,如何通过云效流水线有效拉通开发与运维,打破二者之间的壁垒墙,让开发与运维高效联动。
创新互联公司成立于2013年,先为嘉鱼等服务建站,嘉鱼等地企业,进行企业商务咨询服务。为嘉鱼企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
一般来说,用户使用主机部署诉求如下:
1、开发人员不需要关注资源变更,只需要按需选择环境进行部署即可。
2、开发人员能够根据制定好的发布策略,自主发布,不需要手工配置和干预。
3、运维人员不需关注研发平台,只需做好资源的规划管理即可。
结合云效交付流水线发布策略及ECS的标签功能,为ECS的多环境发布提供了很好的基础保障,如图:
该场景下主要会涉及开发人员跟运维人员两个角色,下面文章中我们主要会这两个角色角度进行讲解。
接下来以一个 Java Spring Boot 的代码库为例,讲解如何通过云效流水线进行阿里云 ECS 的多环境发布。
1、运维人员已购买相应阿里云ECS资源,并配置好相应环境,如本文案例中需要的JDK环境。
2、运维人员,根据需要,对相应ECS资源进行标签配置。标签是云资源的标识,可以帮助您从不同维度对具有相同特征的云资源进行分类、搜索和聚合,让资源管理变得更加轻松。本文中ECS资源及标签设置如图所示:
标签键:environment 标签值:dev、sit、product
1、进入云效流水线,点击右上角【新建流水线】,进入流水线创建向导页面。
2、选择图中标识模板,并点击创建
修改一下”Java构建上传“的任务,增加一个打包路径,填入deploy.sh。这个文件存在于代码库中,其中包含了在ECS上进行应用启动的脚本,为了进行后续的主机部署,需要将这个文件也打入到压缩包中,在后续的主机部署任务中可以看到如何使用该deploy.sh。在该配置中指定了target/和deploy.sh两个路径,所以Flow会将这两个文件(夹)打包成为一个压缩包,并进行归档,在Flow中我们称之为制品,该制品也会在后续的主机部署任务中用到。
1、接下来配置主机部署任务,在制品下拉框中选择”制品名称.default”,也就是前面的”Java构建上传“步骤归档的那个制品。为了配置主机组,需要先创建一个,点击”新建主机组”。
2、选择”阿里云ECS“,点击”新建服务授权”,跳转到阿里云,完成RAM授权,然后会自动跳回到Flow。
3、此时再选择标签方式添加,依次选择地区、ECS标签键、ECS标签值,点击下一步。
4、在新弹出的页面中输入主机组名称及主机组环境,点击保存即可。
5、接下来进行部署脚本的配置:
mkdir -p/home/admin/application/tar zxvf /home/admin/app/package.tgz -C/home/admin/application/sh /home/admin/application/deploy.sh restart
6、部署策略配置
本文中配置如下所示:
7、部署结果查看
通过以上的操作流程,我们可以通过云效流水线,利用标签功能,拉通开发与运维,同时,让开发和运维关注点分离,专注于核心的工作内容,实现高效的ECS多环境部署。
点击下方立即体验云效流水线Flow!
https://www.aliyun.com/product/yunxiao/flow?channel=yy_practice