通过使用 ROS 和 Flow,您可以实现持续交付和自动构建。更新模板后,工作流程会自动构建测试资源栈,您可以测试并决定是否将更改应用到生产资源栈。此发布过程可让您快速可靠地对 Aliyun 基础设施进行更改。
背景信息
例如,您可以创建一个工作流程,此工作流程在您将更新的模板提交到代码存储库时会自动构建测试资源栈。在资源编排 ROS 构建测试资源栈后,您可以测试它,然后决定是否将更改推送至生产资源栈。
阿里云资源编排服务(Resource Orchestration Service 简称 ROS)是一种简单易用的云计算资源自动化部署服务。用户可以使用 Json/Yaml 模板描述和部署多个云计算资源,实现基础设施即代码(IaC)。
实例:为测试和生产资源栈构建流水线
如果您需要建立一个发布流程:您提交一个资源编排 ROS 模板,然后资源编排使用该模板自动构建测试资源栈。在您审查测试资源栈后,可预览您的更改将如何修改生产资源栈,然后选择是否实施更改。要完成此工作流程,您可使用资源编排构建测试资源栈、创建更改集,然后执行更改集。但是,在每个操作中,您都需要手动与资源编排进行交互。在此实例中,我们将会构建一个流水线来实现上述多个操作的自动化,从而帮助您使用资源编排资源栈实现持续交付工作流程。
实例简述
在资源栈中为示例 WordPress 站点构建一个流水线。此流水线分为三个阶段。每个阶段均必须包含至少一个操作,此操作是流水线将在您的构件 (您的输入) 上执行的任务。阶段组织流水线中的操作。流水线必须完成阶段中的所有操作,然后阶段才会处理新构件,例如,您提交新输入以重新运行流水线。
在此实例过程中,您将获得执行以下工作流程的流水线。
第一阶段
从存储库中检索源构件 (资源编排 ROS 模板及其配置文件)。
您将准备一个包含示例 WordPress 模板的构件并将该构件上传到代码仓库。
首先,从资源编排获取示例模板"基于 ECS 和 RDS 创建 WordPress 环境",然后将构件上传到代码仓库。
在资源编排ROS控制台左侧导航栏,选择模板 > 公共模板,切换到入门模板页签,在搜索栏输入wordpress进行搜索,找到该模板。
第二阶段
流水线将创建测试资源栈,然后等待审批。
-
在流水线Flow 控制台,单击右上角创建流水线,选择空模板。在选择流水线模板弹窗中,选择可视化编排页签,在左侧分类中选择空模板,在右侧选中空模板模板卡片,单击创建。
-
添加代码源。在流程配置页面,单击流水线源阶段的+添加流水线源,在右侧弹出的添加流水线源面板中,选择代码源类型为Codeup,配置服务连接、代码仓库,将默认分支设置为master,然后单击添加。
-
添加流水线步骤(仅适用于默认环境)。
在任务步骤区域,单击添加步骤,在弹出的下拉菜单中选择步骤类型。例如在发布分类下可选择Kubectl 发布、Helm Release、Kubectl镜像升级、ROS 发布、阿里函数计算部署等发布方式。
-
编辑 ROS 发布步骤,编辑完后,并点右上角仅保存。
设置ROS 扮演角色为
TestTeamRole,Stack名称为WordPressTest,Stack文件路径为Test/WordPress.yml,超时时间为10,并勾选忽略环境未发生变化的错误。 -
在阶段配置区域单击+添加阶段,新建任务后在步骤分类中选择人工卡点工具。
-
编辑人工卡点。
在右侧编辑面板中,设置任务名称为代码评审,验证者类型选择人员,并在验证人中指定相关人员。
-
点击保存并运行,等待审批。
流水线运行后,阶段1的WordPressTest任务运行成功,随后进入代码评审阶段,状态显示为等待中,审核人可单击验证通过或验证不通过完成审批。
在审查测试资源栈后,可选择继续使用原来的流水线或创建并提交另一个构件以进行更改。
如果您批准通过,流水线将继续到下一阶段。
如果您批准不通过,可以返回第一阶段,修改模板或配置文件,重新执行流水线,再次审批。
第三阶段
流水线将针对生产资源栈创建更改集,然后等待审批。
情况一:在初始运行中,如果您没有生产资源栈。更改集显示资源编排 ROS 将创建的所有资源。如果您批准,该阶段将执行更改集并构建您的生产资源栈。
情况二:在初始运行中,如果您有生产资源栈。更改集显示资源编排 ROS 将更新的所有修改过配置的资源。如果您批准,该阶段将执行更改集并更新您的生产资源栈。
需要使用的模板可以从资资源编排 ROS 控制台的模板示例中获取"基于 ECS 和 RDS 创建 WordPress 环境"。