通过代码仓库管理资源栈

代码仓库同步模板功能可以让开发者通过代码仓库来管理资源栈,当代码仓库中的文件发生变化时,资源栈也会同步更新。

前提条件

  1. GitHub授权计算巢,如果您是第一次使用此功能,需要您前往 Github 平台授权,授权成功后才可以正常选择仓库用户。

    image

  2. 需要授权计算巢AppFlow服务更新资源栈的相关权限。具体权限,请参见AliyunServiceRoleForAppFlow

操作步骤

一、编写模板与配置文件

  1. 根据您的业务需求编写Terraform 或 ROS 模板,本节以创建 VPC 的ROS模板为例。您可以使用AI模板助手自定义模板使用可视化编辑器编写模板

    ROSTemplateFormatVersion: "2015-09-01"
    Parameters:
      VpcName:
        Type: String
        Default: git-demo
    Resources:
      Vpc:
        Type: ALIYUN::ECS::VPC
        Properties:
          VpcName:
            Ref: VpcName
          CidrBlock: 192.168.0.0/16
    Outputs:
      VpcId:
        Value:
          Ref: Vpc
  2. 编写配置文件, 文件格式为JSONYAML。本节以my-vpc-demo.yaml配置为例。

    配置文件结构说明:

    • template-file-path:表示 Terraform 或 ROS 模板文件的位置。

    • parameters:表示部署时需要参数。

    • tags:表示部署时传入的标签。

    template-file-path: templates/my-vpc-demo.yaml
    parameters: 
      VpcName: git-demo-1
    tags:
      env: test

二、将文件上传仓库

登录GitHub,将模板与配置文件上传至仓库中,目录结构如下所示。

.
├── my-vpc-config.yaml
└── templates
    └── my-vpc-demo.yaml

三、创建资源栈

  1. 进入资源编排-资源栈页面,单击创建资源栈

  2. 选择模板页面,指定模板选择为通过代码仓库同步模板

  3. 仓库平台选择GitHub,选择您步骤二中使用的仓库用户、仓库名称以及仓库分支。

  4. 选择您的模板类型,本节以 ROS模板为例。

    image

  5. 根据您的需求开始自动更新资源栈,本节以开启该功能为例。

    当代码仓库中的文件发生变化时,将自动更新资源栈,是否开启该功能。

    • 开启:首次创建时将为您创建一个空的资源栈,您可以在资源栈创建完成之后,单击代码仓库信息模块的运行按钮来执行一次模板同步与更新。

    • 关闭:请您选择一个代码仓库中已有的模板。

  6. 配置文件路径中,选中上传到 GitHub 仓库中的配置文件,控制台会自动加载该配置文件的内容。

    image

  7. 单击下一步,在配置参数页面根据需求进行填写。单击创建,跳转到代码仓库信息页签。

    此时自动同步功能已经配置完成,当您Github中的模板或配置文件变更时,此资源栈也会同步更新。

三、更新资源栈

立即更新

  1. 如果您希望立即更新一次,可以单击右上角运行

  2. 等待自动更新日志中的状态变成运行完成时,您可在资源页签查看,VPC已经创建完成。

    image

  3. 进入 VPC 的控制台,可查询到名称为git-demo-1的 VPC 实例。

修改仓库文件并更新资源栈

本节以更新配置文件,将 git-demo-1 改成 git-demo-2为例。

  1. 登录GitHub,进入二中的仓库修改my-vpc-config.yaml文件。将git-demo-1改成git-demo-2并合并分支。

    image

  2. 进入资源编排-资源栈页面,选择目标资源栈并在事件页签中,显示VPC 的更新事件。

  3. 当资源栈更新完成之后进入 VPC 的控制台,此时该VPC 的名称已经由 git-demo-1 更新为 git-demo-2