更新时间:2024-07-11 GMT+08:00
分享

方案概述

背景信息

Spring Cloud为微服务开发提供了一套完整的解决方案,大幅简化了分布式系统中基础设施如服务发现与注册、配置管理、负载均衡、数据监控以及分布式调用链等的开发工作。通过Spring Cloud提供的简易框架,开发者能够基于Spring Boot轻松实现微服务项目的构建。

然而,除了开发阶段的便捷性外,我们还需要关注应用的部署、运维和监控等方面,以确保微服务应用在生产环境中的稳定性和性能。应用平台(AppStage)是基于平台工程理念打造的下一代应用全生命周期管理平台,帮助客户快速高效地实现应用全生命周期管理,为应用构建、运维和运营等生命周期管理活动提供自助式服务能力。

原生Spring Cloud应用仅需引入AppStage组件依赖并进行简单配置,即可轻松接入AppStage。接入后,用户即可体验到平台所提供的丰富功能,如服务注册与发现、智能运维、应用监控、服务治理、应用运营等。

解决方案

本文将以Spring Cloud Demo项目为例,带您体验使用AppStage的开发中心、运维中心及运行时引擎进行工程创建、代码开发、打包发布、部署上线的全过程。

图1 应用上云流程
  1. 工程创建
    1. 创建产品/服务/微服务信息:企业资源接入AppStage前,需要先将企业产品/服务/微服务信息录入AppStage系统中,信息录入成功后,AppStage将同步产品/服务/微服务信息至AppStage的开发中心、运维中心等各个中心。
    2. 添加开发中心用户:开发中心的用户数根据购买规格有相应的用户数量限制,组织管理员通过用户的添加或删除来合理管理开发中心的使用人员。
    3. 创建团队:在开发中心进行服务开发前,需要组织管理员先创建一个团队,将团队关联需要开发的服务。
    4. 配置服务信息:将团队关联服务后,还需将团队关联的服务关联CodeArts项目,后续的服务开发管理过程中才能正常使用CodeArts服务的代码托管、流水线、编译构建功能。
    5. 添加团队成员:在团队多用户协作开发过程中,不同角色成员执行各自权限和责任事项,因此需要在团队中添加协作开发的各角色成员(项目经理、开发人员、测试人员等),实现统一有序的成员信息管理。
    6. 创建版本:为服务创建版本,进而在版本管理活动中进行流水线和发布流程等有序开发和特定发布过程管理。
  2. 代码开发
    1. 创建代码仓库:开发人员进行代码开发前,需要先创建代码仓库用于托管代码。本实践中使用代码托管 CodeArts Repo服务提供的模板创建,适用于本地没有仓库,希望按模板初始化一个仓库的场景。
    2. 下载代码到本地:开发人员进行代码文件的操作前,需要使用Git Bash客户端和TortoiseGit客户端下载代码仓库文件到本地环境中。
    3. 开发业务代码编写IaC脚本:开发人员在本地开发业务代码以及IaC部署脚本。
    4. 提交代码到代码仓库:开发人员在本地完成业务代码和IaC脚本后,需要提交代码文件至代码仓库。
  3. 打包发布
    1. 创建/配置/执行流水线:通过流水线配置代码打包发布的编译构建自动化任务(包括添加业务包构建、IaC自动部署包构建任务),对这些自动化任务进行自定义编排后,一次配置后即可一键自动化触发调度执行,最终生成代码构建产物。
    2. 发布流水线构建的包到运维中心:版本开发及编译构建完成,且发布准入检查项均通过后,将版本软件包发布到运维中心的软件仓库。
  4. 部署上线
    1. 安装部署软件包:完成环境准备,并将发布在运维中心的软件包进行安装部署。
    2. 业务验证:软件包部署完成后,验证是否部署成功。

相关文档