Java 构建部署到 ACK 或自建 K8s 集群

本文主要介绍如何实现Java构建部署到ACK或自建K8s集群。

场景介绍

研发应用场景:

  • 使用 Java 语言进行开发。

  • 需要将源代码构建成容器镜像形式进行交付。

  • 镜像最终会运行在阿里云 ACK 或者其他 K8s 集群上。

那么本文档可以帮助您实现应用研发流程的协同自动化。

整体方案

image

通常应用研发场景:

  • 需要对源代码进行一定的质量检测,比如单元测试、代码扫描。

  • 需要将源代码构建成容器镜像。

  • 使用镜像部署到测试环境,进行测试验证;然后依次部署到预发环境进行预发验证。

  • 生产发布前提交审核流程,审核通过后使用验证完成的镜像进行生产发布。

上述方案依赖不同角色的协同合作:开发、测试、运维,涉及测试、预发、生产等多套环境的部署管理,如何保证不同参与者可以使用统一的交付流程来进行协作,有序按环境逐步推进需求发布上线,是云效 AppStack 应用交付解决的主要问题。

操作实践

步骤一:创建应用

进入应用交付AppStack首页,单击新建应用,选择「spring-boot应用体验模板」。您也可以自定义企业模板,定义企业专属应用架构和研发流程。

高的 - 2024-12-12T165419.145.png

步骤二:按需修改应用代码、流水线、部署YAML等相关配置

  • 按需修改应用关联的代码仓库。

    高的 - 2024-12-12T165541.677.png

  • 按需修改应用部署 YAML 文件。体验模板预置一个 Deployment 和 Service。

    高的 - 2024-12-12T165631.475.png

  • 按需修改应用各阶段流水线配置,如修改镜像推送地址为你自己的镜像仓库地址,以及相应的用户名密码。

    高的 - 2024-12-12T165754.253.png

    高的 - 2024-12-12T165903.400.png

步骤三:为环境关联部署资源

体验模板预置开发、测试、预发、生产四套环境,可按需使用。如使用测试环境,则为测试环境关联部署所需的 K8s 集群。若还未导入 Kubernetes 集群,可参考 Kubernetes 集群托管 导入 ACK 集群、或其他云平台或自建 K8s 集群。

高的 - 2024-12-12T170018.957.png

高的 - 2024-12-12T170052.937.png

步骤四:代码提交,触发流水线构建部署

高的 - 2024-12-12T170213.451.png

步骤五:查看部署单,完成应用部署

高的 - 2024-12-12T170315.321.png

步骤六:环境编排,部署发布

高的 - 2024-12-12T170500.574.png