Files
telecom-rd-project-template/.agents/skills/telecom-rd-standards/references/source-documents/13-deployment.md
T
2026-07-28 22:30:20 +08:00

128 lines
6.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 中国电信软件研发规范部署管理分册
> 脱敏整理版:已移除编制人员、联系人和联系方式,并合并无意义硬换行。技术条款、章节和示例以原始 DOCX 为争议核验依据。
中国电信软件研发规范部署管理分册
中国电信集团有限公司
## 2023 年 12 月
i
> 编制人员信息已移除。
版本变更历史
iii
## 1 文档说明
### 1.1 编制说明
为进一步规范全集团的软件产品的部署,明确部署过程中的要求和流程,特制定本部署管理规范, 用于指导和规范全集团的软件部署过程。
### 1.2 文档结构
本规范由文档说明、部署管理和部署环境要求等部分构成,各章节的主要内容如下:第 1 章节-文档说明, 综述本文档的整体编制说明。第 2 章节-部署管理,规定部署流程,部署前的准备工作,部署审批、部署任务设置及部署执行各环节的要求第 3 章节 -部署环境要求, 对云网环境和私有环境下 K8S(CCSE) 及主机部署环境进行规范要求。
### 1.3 适用范围
本规范适用于研发项目部署到生产环境时在研发平台侧的相关流程和要求 。项目部署在生产平台侧的相关流程和要求, 按照对应生产平台的相关规范执行。
### 1.4 起草单位
本规范的起草单位是中国电信集团公司。
### 1.5 解释权
本规范解释权属于中国电信集团公司。
### 1.6 版权
本规范的版权属于中国电信集团公司。
### 1.7 名词解释
## 2 部署管理
### 2.1 部署流程
应用/产品部署分为四个步骤:a. 部署准备: 完成部署所需的前置工作, 包括测试 、准备相关信息和文档等;b. 部署审批: 项目组发起部署申请流程, 提交部署所需相关信息和文档,由项目经理及相关管理方进行审批;c. 部署任务设置: 根据不同部署环境和部署类型的要求, 进行部署任务的创建和设置d. 部署执行: 根据部署任务执行部署动作e. 部署验证: 部署完成后, 使用用例验证部署的正确性以及服务的可用性
### 2.2 部署准备
#### 2.2.1 测试工作
部署前应完成项目的上线测试工作,符合测试规范的准入和准出要求, 并提交相应测试报告 。(C1)
#### 2.2.2 部署需提供的相关信息和文档
在进行应用/产品部署前, 需要提供以下信息和文档。
##### 2.2.2.1 版本及关联信息
必须提供该次部署对应的应用/产品版本信息 。(C1)应提供对应本次部署应用/产品对应的需求及相应编号 。(C3)
应提供应用/产品版本对应的(多个)制品的版本、以及各制品对应的代码版本 。(C1)
##### 2.2.2.2 部署计划和实施方案
应提供部署计划, 以及实施方案, 包括操作步骤说明、相关的执行脚本 、回退方案及数据备份方案等 。(C1)
##### 2.2.2.3 其它信息和文档
根据部署的应用/产品,提供部署所需的配置参数、数据初始化要求及相应的初始化版本;根据部署的生产环境不同,提供部署所需要的资源和权限申请,准备生产平台所需的其它材料, 详细见对应生产平台的部署规范及相关要求。
### 2.3 部署审批
在完成部署准备工作后,项目组应发起应用部署审批流程。需要提供的信息见 2.2.1 和 2.2.2 节; (C1)研发平台侧的流程应通过系统或手工对接生产平台侧的上线部署流程,整个流程完成后才可以执行上线部署动作。
### 2.4 部署任务设置
应用/产品使用部署任务进行自动化部署, 配置好部署任务后可自动执行部署流程相关的脚本 。部署任务针对单个项目, 不允许跨项目使用 。 (C3)
#### 2.4.1 部署任务命名规范
部署任务的标识应当有明确的意义,可以通过部署任务名称,快速确认部署任务的用途 。建议格式为{业务名称}-{模块名称}-{服务名称}-{环境};部署任务的标识应当由英文小写字母(a-z) 、数字(0-9) 、 中划线(-)
组成, 且以小写字母开头;示例: “srdcloud-usercenter-web-pro ”。
#### 2.4.2 部署任务描述
部署类型分为两种类型:K8S 环境(含集团CCSE)和主机环境(含虚拟机);根据部署类型的不同, 部署任务也分为 K8S 部署任务和主机部署任务两种类型。
##### 2.4.2.1 K8S 部署任务
K8S 的部署任务使用 Yaml 文件描述部署相关的资源,格式符合 K8S 资源描述的要求;其中, 部署使用的镜像应明确其具体版本号, 禁止使用latest; 部署任务中配置的资源不得超过所指定命名空间的资源限制。
##### 2.4.2.2 主机部署任务
主机部署任务使用 tgz 形式的压缩包 。解压后应包括以下目录和文件: deploy/init.sh 初始化准备工作脚本。deploy/start.sh 服务启动脚本。deploy/stop.sh 服务停止脚本。deploy/monitor.sh 监控服务的脚本。deploy/clean.sh, 停止服务并清理部署包。
### 2.5 部署执行
部署任务的执行方式包括手动触发和流水线触发两种。部署至生产环境时,需每次进行审批等操作,因此应选择手动触发部署任务的方式 。部署任务完成审批后, 再采取手动触发的方式, 执行部署任务。
### 2.6 部署验证
部署执行完成后, 通过事先准备好的用例对应用/产品进行测试, 验证部署
是否正确 、完整, 是否可以提供正常服务。
## 3 部署环境要求
### 3.1 部署环境概述
本节描述生产环境的类型 、部署类型以及相关要求。应用和产品部署的生产环境分为两种类型:云网环境和私有环境。云网环境指集团 IT 和业务上云的生产环境 。其他非云网环境统称为私有环境。云网环境: 集团云网运营部统筹管理的环境, 如 IT 上云和业务上云环境。私有环境: 各单位自行管理的部署环境。
### 3.2 云网环境要求
研发项目在云网环境部署, 必须符合生产环境相关要求。云网环境应提供同步研发平台制品库到云网环境本地制品库的接口;云网环境应能接收研发平台侧发送的部署任务并执行。
### 3.3 私有环境要求
私有环境必须支持两种部署类型之一: K8S 部署或主机部署;私有环境必须能访问研发平台侧的制品库拉取制品;私有环境应能接收研发平台侧发送的部署任务并执行部署任务。因网络环境等特殊情况下可以拉取制品后进行离线部署。