上云无忧 > 文档中心 > 腾讯云弹性微服务 TEM - 使用 Coding 部署插件创建持续集成
弹性微服务 TEM
腾讯云弹性微服务 TEM - 使用 Coding 部署插件创建持续集成

文档简介:
操作场景: 弹性微服务应用可以使用 CODING 构建持续集成方案,更多关于 CODING 持续集成功能和使用的说明,请参见 CODING 持续集成。 本文以 Java 应用为例,介绍如何使用 Coding 以 镜像 及 JAR/WAR 包 方式部署应用至弹性微服务。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

操作场景

弹性微服务应用可以使用 CODING 构建持续集成方案,更多关于 CODING 持续集成功能和使用的说明,请参见 CODING 持续集成
本文以 Java 应用为例,介绍如何使用 Coding 以 镜像 及 JAR/WAR 包 方式部署应用至弹性微服务。

准备工作

准备 Demo 应用

DEMO 代码由 Spring Ini̇ti̇ali̇ze 自动生成,使用 Gradle 构建,依赖 Spring Web、Actuator 和 Prometheus 等。

在控制台完成首次部署(可选)

首次部署时,有较多的参数需要设置。这部分信息如果全部固化到 CI/CD 流程里,就会显得特别复杂。
因此,如果您的业务涉及较多部署配置项,建议您在 弹性微服务控制台 中完成首次发布,或者通过Python部署脚本的方式配置持续集成。
说明:
Coding 构建计划里配置的发布方式应当与 TEM 保持一致,例如:如果弹性微服务应用为镜像部署方式,则 Coding 构建计划内也使用镜像部署。

确认 TCR 镜像信息

如果您需要通过镜像部署应用,需要将镜像推送至 TCR 镜像仓库并部署,因此需要获取相应 TCR 镜像仓库的 docker login 的 Registry。

Coding 平台操作

创建 Coding 项目和仓库

1. 创建全功能 DevOps 项目

2. 创建代码仓库。

3. 添加 remote 仓库,并推送代码。
		
git init
git add .
git commit -m "init"
git remote add origin ***/tem-test/tem-demo.git
git push -u origin master

构建计划概览

默认git push origin master 后,会触发构建计划。如您有特殊需求,可自行配置构建计划的触发规则。
采用镜像方式部署时:

采用程序包方式部署时:

配置构建计划

1. 模板选择自定义构建计划。

2. 在流程配置中,添加构建模块(执行 Shell 脚本)。由于 DEMO 中使用的 gradle 构建,可参考以下命令:
		
(cd /root/.gradle && rm init.gradle)
./gradlew clean build

3. 镜像部署时在流程配置中,添加镜像构建模块(执行 Shell 脚本)
		
"docker build -t ${DOCKER_NAMESPACE}/${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_VERSION} -f ${DOCKERFILE_PATH} ${DOCKER_BUILD_CONTEXT}"
您可自行在环境变量中定义相关变量:
DOCKER_NAMESPACE: 命名空间。
DOCKER_IMAGE_NAME:镜像仓库名称。
DOCKER_IMAGE_VERSION:镜像版本号,e.g. ${GIT_COMMIT}。
DOCKERFILE_PATH:dockerfile 文件位置,e.g. Dockerfile。
DOCKER_BUILD_CONTEXT:Docker 构建目录,e.g. 使用当前目录。
4. 镜像部署时在流程配置中,添加镜像推送模块(TCR 插件),腾讯云内网目前只支持 TCR(由于镜像拉取是大流量操作,对带宽要求比较高,不建议 NAT 接出公网)。您也可用使用 docker login && docker push 自行完成镜像推送。

5. 在流程配置中,添加 TEM 部署模块。

TEM 部署插件配置

1. 配置通用信息与应用基本信息。
插件版本:选择最新。
SecretId/SecretKey: 腾讯云的 API 密钥
地域:TEM 的服务地域。
应用名称:支持根据名称新建应用, 或选择存量应用部署至新环境。
环境名称:根据环境名称指定一个存量环境,若无合适环境,请前往创建环境
2. 配置镜像:配置关联的镜像 TAG,如 commitId 等。
3. 配置 JAR / WAR 包:除了配置部署版本以外,还需要额外配置 JAR/WAR 的文件路径。
4. 部署配置。
发布触发策略:
自动触发:发布全自动执行。
全手动触发:发布不同批次间,需要用户人工确认才会继续执行。
小批量验证后自动触发:小批量验证完成后,经人工确认,后续批次自动触发。
发布批次:实例的发布批次数。
批次间等待时间:发布批次之间的间隔时间,以秒为单位,用来减少可能的服务抖动。
发布过程中保障的最小可用实例数:
-1 代表保证全量实例可用。
0 代表不保障发布过程中一定有实例可用。
n 代表发布过程中保障有n个实例可用。

部署详情

部署操作是异步的,在部署操作执行完之后,会返回访问部署详情的链接。

手工确认的分批次发布场景(可选)

1. 增加 Coding 插件(人工确认)。
2. 继续下一批(执行 Shell 脚本)。
		
pip install tccli
tccli configure set secretId $SECRET_ID secretKey $SECRET_KEY region $REGION output json
tccli tem ResumeApplication --version 2021-07-01 --ApplicationId $APPLICATION_ID --EnvironmentId $ENVIRONMENT_ID
相似文档
  • 弹性微服务应用可以使用 Python 脚本来部署。 前提条件: 在开始持续集成之前,需要完成下述的准备工作: 1. 保证机器上安装的 Python 版本不低于 3.0 版本,并已安装 PIP 等 Python 包管理工具。 2. 获取腾讯云的 访问密钥SecretId 和 SecretKey。 3. 在弹性微服务创建了环境。 4. 安装脚本所需的依赖。
  • Terraform 是一个 IT 基础架构自动化编排工具,它的口号是“Write, Plan, and Create Infrastructure as Code”, 是一个“基础设施即代码”工具,通过 Terraform 您可以创建、更新和版本控制的 TEM 中的资源。了解更多关于 Terraform,请参见 Terraform 指南。
  • 操作场景: 在弹性微服务中,环境是一组计算、网络、存储等资源的集合。TEM 提供多环境管理的功能,您可根据自身业务需要,创建开发、测试、预发、生产等多个环境,分别部署应用,达成环境隔离的目的。不同环境中的应用彼此隔离。 本文介绍如何使用 Terraform 创建、编辑和删除 TEM 环境资源。
  • 操作场景: 在弹性微服务中,为了帮助您聚焦设计与部署业务应用程序,省去对集群与服务器的考虑,抽象出了应用的概念。 本文介绍如何使用 Terraform 创建应用、部署和删除应用。
  • 操作场景: 若您在使用 Terraform 管理云资源之前,已经通过腾讯云控制台创建了资源,则可参考本文进行操作,将现存资源使用 Terraform 管理。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部