如何创建符合计算巢规范的Git仓库

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
传统型负载均衡 CLB,每月750个小时 15LCU
简介: 为了简化软件云化部署,阿里云计算巢提供了一站式平台,开发者仅需将自己的git仓库配置为符合计算巢服务规范,即可实现自动化部署到云端。官方提供了多个模板,涵盖不同架构和部署物类型,便于开发者从计算巢官方仓库fork并定制。重要文件包含config.yaml和,用于配置服务构建参数。通过计算巢控制台,即可完成服务的创建和发布,实现软件的云上部署。

一、规范git仓库配置

软件开发者往往在github/gitlab/gitee等地方有自己的仓库,如果想要将软件部署运行起来,需要手动搭建服务器并构建环境。阿里云计算巢为开发者提供了一站式软件云化部署平台,只要将自己的仓库配置成符合计算巢服务格式规范的仓库,就可以将软件自动化的部署到云端,成为云上可以执行的软件。若一开始没有类似仓库,可以从计算巢官方仓库中fork到自己的账号。

因此,将开发者的git仓库配置成符合计算巢规范的git仓库,此为关键步骤。

二、官方仓库推荐

截止至2024.2.28,私有化场景共8个,覆盖多种架构场景;托管版模板共5个。

服务类型

模板名称

架构

部署物类型

Github地址

私有部署

SpringBoot软件包ECS单机版

单机ECS

软件包(文件部署物)

https://github.com/aliyun-computenest/springboot-ecs-package-demo.git

SpringBoot镜像ECS单机版

单机ECS

ECS镜像部署物

https://github.com/aliyun-computenest/springboot-ecs-image-demo.git

kodbox-函数计算版

FC服务

https://github.com/aliyun-computenest/kodbox-fc-demo.git

WordPress

单机版:ECS+RDS

高可用版:多台ECS+RDS+SLB+EIP

软件包(文件部署物)

https://github.com/aliyun-computenest/wordpress-ecs-demo.git

SpringBoot软件包ECS弹性扩缩容版

ECS+SLB(负载均衡)+EIP(弹性公网)+ESS(弹性伸缩)

软件包(文件部署物)

https://github.com/aliyun-computenest/springboot-scaling-ecs-demo.git

SpringBoot-ACK容器版

ACK+SLB+EIP

容器镜像

https://github.com/aliyun-computenest/springboot-ack-docker-demo.git

SpringBoot-ECS容器版

单机ECS

容器镜像

https://github.com/aliyun-computenest/springboot-ecs-docker-demo.git

SpringBoot-ACK-Helm版

ACK+SLB+EIP

容器镜像、Helm chart部署物

https://github.com/aliyun-computenest/springboot-ack-helm-demo.git

托管版单租

SpringBoot托管版单租

ECS+RDS+EIP

软件包(文件部署物)

https://github.com/aliyun-computenest/springboot-managed-demo.git

ECS+SLB架构版Mysql(支持私网连接)

ECS+SLB

软件包(文件部署物)

https://github.com/aliyun-computenest/mysql-managed-demo.git

WordPress-ECS托管版单租

ECS+本地MySQL+EIP

软件包(文件部署物)

https://github.com/aliyun-computenest/wordpress-managed-demo.git

WordPress-ACK托管版多租

ACK+本地MySQL

无部署物,yaml方式部署pod

https://github.com/aliyun-computenest/wordpress-managed-ack-demo.git

MariaDB-ACK托管版多租

ACK+本地MariaDB

无部署物,yaml方式部署pod

https://github.com/aliyun-computenest/mariadb-managed-ack-demo.git

三、仓库目录文件说明

以WordPress-ECS托管版单租仓库为例,请查看每个文件的功能说明,以便于开发者嵌入对应的软件。

文件路径

说明

config.yaml

构建服务的配置文件,服务构建过程中会使用计算巢命令行工具computenest-cli,computenest-cli会基于该配置文件构建服务。

parameters.yaml

本服务为托管版单租,使用该文件渲染服务商需要配置的网络参数,包括VpcId,VSwitch等。

artifact/wordpress-6.2-zh_CN.tar.gz

wordpress安装包,构建过程会将该包发布为计算巢部署物。

icons/service_logo.jpg

构建服务默认的图标。

templates/parameters.yaml

本服务为托管版单租服务,所以只需要用户在部署服务实例时填写一部分参数,通过该文件指定用户所填参数。

templates/template.yaml

ROS模板文件,ROS模板引擎根据该模板能够自动创建出所有的资源。

四、配置config.yaml

该文件为computenest-cli构建服务的核心配置文件,本质是指定了服务的配置,然后computenest-cli会根据该配置调用对应的计算巢OpenApi接口传入具体的配置参数,从而实现服务构建。

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

五、发布服务

完成仓库配置后,可以直接登录计算巢控制台,通过仓库直接创建服务,并完成软件云化部署。控制台地址:https://computenest.console.aliyun.com/

相关实践学习
2048小游戏
基于计算巢&ECS云服务器快速部署,带您畅玩2048小游戏。
相关文章
|
3月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之如何将个人账号下的Git仓库转移到企业账号下
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3月前
|
IDE 网络安全 开发工具
【Azure App Service】Local Git App Service的仓库代码遇见卡住不Clone代码的问题
【Azure App Service】Local Git App Service的仓库代码遇见卡住不Clone代码的问题
【Azure App Service】Local Git App Service的仓库代码遇见卡住不Clone代码的问题
|
9天前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
23 2
|
1月前
|
Shell 开发工具 git
git学习三:git使用:删除仓库,删除仓库内文件
通过GitHub的设置页面删除仓库,以及如何使用Git命令行删除仓库中的文件或文件夹。
145 1
git学习三:git使用:删除仓库,删除仓库内文件
|
1月前
|
开发工具 git 索引
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
65 4
|
1月前
|
存储 开发工具 git
Git 远程仓库地址管理:添加、修改和验证
Git 远程仓库地址管理:添加、修改和验证
56 4
|
1月前
|
编译器 开发工具 数据安全/隐私保护
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
本文提供了一个关于如何在Gitee上进行多人协作和版本控制的详细教程,包括新建和初始化仓库、克隆仓库、邀请好友共同管理仓库以及注意事项,旨在帮助用户顺利进行代码协作开发。
189 0
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
|
2月前
|
开发工具 git
IDEA更改远程git仓库地址
【9月更文挑战第27天】本文介绍了两种在IntelliJ IDEA中更改远程Git仓库地址的方法:一是通过图形界面,在VCS设置中直接修改;二是通过IDEA内置的命令行工具使用`git`命令进行更改。具体步骤包括从版本控制菜单进入项目设置、修改远程仓库URL,以及使用`git remote set-url`命令更新仓库地址,并验证修改结果。这些方法适用于项目迁移或更换仓库地址的情况。
545 6
|
2月前
|
Linux 开发工具 git
linux自建仓库git之钩子不生效
linux自建仓库git之钩子不生效
|
1月前
|
网络协议 网络安全 开发工具
【Git快速入门】Git代码管理手册与协同开发之远程仓库(四)
【Git快速入门】Git代码管理手册与协同开发之远程仓库(四)