为了简化软件云化部署,阿里云计算巢提供了一站式平台,开发者仅需将自己的Git仓库配置为符合计算巢服务规范即可实现自动化部署到云端的操作。官方提供了多个模板,这些模板涵盖了不同的架构和部署物的类型,便于开发者从计算巢官方仓库复制并定制模板。通过计算巢控制台,即可完成服务的创建和发布,实现软件的云上部署。本文介绍如何创建符合计算巢规范的Git仓库的详细信息。
规范Git仓库配置
软件开发者往往会在GitHub、GitLab、Gitee等地方有自己的仓库。如果您想要将软件部署起来,需要手动搭建服务器并构建环境。阿里云计算巢为开发者提供了一站式软件云化部署平台,只要将自己的仓库配置成符合计算巢服务格式规范的仓库,就可以将软件自动化地部署到云端,成为云上可以执行的软件。若一开始没有类似仓库,可以从计算巢官方仓库中将模板复制到自己的账号。
官方仓库推荐
截至2024年2月28日,计算巢提供了8个私有服务模板和5个全托管服务模板,覆盖多种架构场景。
仓库目录文件说明
此处以WordPress-ECS托管版单租仓库为例,介绍仓库目录文件的信息。请查看每个文件的功能说明,以便您能正确的嵌入对应软件。
wordpress-managed-demo
├── README.md - README
├── docs - 服务文档相关文件
│ └── index.md
├── resources - 服务资源文件
│ ├── icons
│ │ └── service_logo.png - 构建服务默认的图标
│ └── artifact_resources - 部署物相关资源文件
│ └── file - 文件部署物目录
│ ├── epel-release-latest-7.noarch.rpm - epel安装包
│ ├── remi-release-7.rpm - remi安装包
│ └── wordpress-6.2-zh_CN.tar.gz - wordpress文件部署物
├── ros_templates - 服务ROS模板,可以有多个
│ └── cluster.yaml - 集群版ROS模板
│ └── template.yaml - 单机版ROS模板
├── config.yaml - 服务配置文件,服务构建过程中会使用计算巢命令行工具computenest-cli,computenest-cli会基于该配置文件构建服务
├── preset_parameters.yaml - 服务商预设参数,如VpcId,VSwitchId等,该ros模板内容会渲染为表单方便服务商填写
配置config.yaml文件
该文件为computenest-cli构建服务的核心配置文件,本质是指定了服务的配置,然后computenest-cli会根据该配置调用对应的计算巢OpenAPI接口传入具体的配置参数。构建服务的整体流程中调用的接口包括计算巢创建服务,创建部署物和ECS的创建镜像(如果是镜像部署物)接口。
Service:
RegionId: cn-hangzhou # 服务部署的区域
DeployType: ros # 部署类型,使用ROS(资源编排服务)
TenantType: SingleTenant # 租户类型,单租户
DeployMetadata: # 部署元数据配置
ServiceInstanceNameRule:
Prefix: wp # 服务实例名称前缀
SupplierDeployMetadata: # 供应商部署元数据
RoleName: ${RoleName} # 使用的角色名称
UserType: Aliyun # 用户类型,阿里云用户
SupplierTemplateConfigs: # 供应商模板配置数组
- Name: 高可用版 # 模板名称
Url: 'templates/template.yaml' # 模板文件的URL
PredefinedParameters: [] # 预定义参数列表
HiddenParameterKeys: # 隐藏参数键列表
- VpcId
- VSwitchId
- ZoneId
ParameterMappings: # 参数映射配置
- ParameterKey: RegionId
ParameterMappingKeys: # 参数映射键
- VpcId
- ZoneId
- VSwitchId
ParameterValueMapping: # 参数值映射配置,指定区域的参数值
cn-hangzhou:
Parameters:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
VSwitchId: ${VSwitchId}
FileArtifactRelation: # 文件部署物关联配置
'{{ computenest::file::wordpress }}': # 文件部署物关联标识符。可以在templates/template.yaml中使用该标识符指定部署物
ArtifactId: ${Artifact.Artifact_1.ArtifactId} # 文件部署物ID
ArtifactVersion: ${Artifact.Artifact_1.ArtifactVersion} # 文件部署物版本
TemplateConfigs: # 模板配置数组
- Name: 高可用版
Url: templates/parameters.yaml # 参数模板文件的URL
AllowedRegions: # 允许的区域列表
- cn-hangzhou
ServiceType: managed # 服务类型,托管服务
ServiceInfo: # 服务信息配置
Locale: zh-CN # 本地化配置,中文
ShortDescription: WordPress demo # 简短描述
Image: 'icons/service_logo.jpg' # 服务图标
Name: WordPress托管版 # 服务名称
ShareType: Public # 共享类型,公共
ApprovalType: Manual # 审批类型,手动审批
Artifact: # 部署物配置,配置后会构建出相应的计算巢部署物
Artifact_1:
ArtifactType: File # 部署物类型,文件
ArtifactName: WordPress # 部署物名称
Description: WordPress # 描述
ArtifactProperty: # 部署物属性配置
RegionId: cn-hangzhou # 部署物所在区域
Url: 'artifacts/wordpress-6.2-zh_CN.tar.gz' # 部署物文件URL
发布服务
完成仓库配置后,可以直接登录计算巢控制台,通过仓库直接创建服务,并完成软件云化部署。
文档内容是否对您有帮助?