APP下载

软件配置管理在研发平台中的应用研究

2023-08-04邵帅李梦瑶

电脑知识与技术 2023年18期
关键词:安装包配置管理出入库

邵帅,李梦瑶

(中国电子科技集团公司第二十八研究所,江苏南京 210000)

0 引言

目前,随着计算机技术的迅速发展和计算机相关产品的大范围普及,软件相关产业蒸蒸日上,从事软件开发的人员越来越多,软件开发项目也急剧增加,软件配置管理问题逐渐得到重视[1]。软件配置管理贯穿整个软件生命周期,项目组成员和项目经理通过配置管理可以更好地识别潜在的项目问题,管理变更、跟踪软件项目的进展情况[2]。对软件的变更进行管控,提高软件产品的可复用性和可维护性变得尤为重要[3]。

本文提出基于研发平台持续集成流水线的自动化软件配置管理模式,通过研发平台持续集成流水线来让配置管理人员能更加简单,高效地实现软件研制过程中的配置管理工作。

1 软件配置管理概述和关键活动

1.1 软件配置管理概述

软件配置管理又称为技术状态管理,指在产品生命周期内,为建立和维护产品功能特性、物理特性与需求的一致性、完整性、正确性而开展的一系列管理活动[4]。配置管理的主要活动包含记录配置项的功能特性和物理特性,控制特性变更,记录并报告变更的处理过程和实现状态,验证配置项的功能特性,物理特性和规定的需求的一致性,完整性、正确性[5]。

1.2 软件配置管理中的关键活动

配置管理中的关键活动包含标识配置项、制定配置管理计划、建立和维护配置管理环境、出入库管理、建立并发布基线、配置审核、配置状态报告、备份管理、变更控制等[6],配置管理流程如图1所示。

图1 配置管理关键活动流程图

2 配置“三库”管理和权限设置

2.1 配置“三库”管理

配置管理“三库”按照控制级别分成开发库,受控库,产品库[7]。开发库作为开发人员使用的配置库,保存项目研制过程中产生的所有软件源代码、设计文档等,开发人员在权限范围内对开发库内的配置项进行检入,检出,修改等操作。受控库用来保存已经批准的软件源代码、安装包、配置文件、数据文件、环境工具、设计文档以及统一管理的过程目录,由配置管理人员进行管理和维护,配置项出入库必须经过批准。产品库作为保存发布的平台产品或者项目交付用户的软件源代码、安装包、配置文件、数据文件、环境工具、配置文档等,由配置管理人员进行管理和维护,任何人员进行产品库的相关操作必须经过批准[8]。

2.2 “三库”的权限管理

三库的权限管理如表1所示

表1 三库的权限管理

3 研发平台总体结构和平台架构

3.1 研发平台总体结构

研发平台是“工具+资源+制度”的有机融合体,贯通软件开发全过程,集成需求设计、编译构建、代码扫描、测试等各类工具,统管数据、模型等研发资源和需求条目、设计成果、源代码、安装包等工作产品,落地产品研制、资源使用维护、配置管理等研发制度,统一提供各类研发服务。

3.2 研发平台架构

如图2所示,研发平台采用“平台+应用”构建模式,以资源为基础、以任务为主线、以数据为驱动,按照数据层、服务层及应用层三层架构进行设计,其中数据层包含八库,资源库统一管理研发所需各类软资源,另外需求库、设计库、代码库、受控库、缺陷库、用例库和产品库七个库,统管研发过程中产出的工作成果;服务层包含容器管理、第三方组件库、日志管理等共性组件,统一提供服务注册、负载均衡、安全认证等基础共性服务能力;应用层包含规划设计、任务管理、资源管理、研发态势共四个基础支撑分系统,及需求设计、持续集成、联试验证和仿真验证等四大专业应用分系统。

图2 研发平台架构图

4 集成配置管理的研发平台持续集成流水线

针对软件配置管理过程中人工管理存在的手工维护量大,易出错等问题,研发平台通过持续集成流水线,随研发活动自动实现软件出入库流转,大大降低了维护成本,减少出错情况,项目组成员和配置管理人员可以实现无感化操作。

4.1 持续集成流水线实现受控库出入库自动化

如图3 所示,项目组成员首先在研发平台上创建对应开发活动的迭代,迭代需要关联和研发活动相关的软件需求和代码缺陷,项目组在代码仓库创建代码变更分支,项目组完成代码开发后将代码上传至变更分支,并在研发平台上配置工程部署参数和部署环境。完成配置之后在研发平台对代码分支进行软件构建,软件构建成功之后开始对分支代码进行扫描,归零扫描发现的代码扫描问题并更新分支代码。项目组需要通过研发平台单元测试节点和同行评审节点,归零单元测试缺陷问题和同行评审缺陷问题,当问题回归完成后封装软件安装包,同时自动将代码和安装包提交至受控库进行受控管理。当项目组发起集成测试或者系统测试申请的时候,研发平台自动将软件部署到测试环境供测试人员进行测试,针对测试发现的缺陷,在项目组成员归零问题后,经过代码扫描重新将代码和软件安装包入受控库受控管理,项目组成员基于研发平台持续集成流水线可以实现配置管理的自动无感化操作。

图3 受控库出入库流程图

4.2 持续集成流水线实现产品库出入库自动化

如图4 所示,项目组首先将准备进行系统考核的软件版本通过持续集成流水线入受控库,当项目组发起系统考核申请之后,研发平台自动将受控库内的软件部署到考核环境,由质量工程师验证产品与合同要求的符合性,如果考核不通过则归零相关问题重新通过持续集成流水线入受控库,并重新进行系统考核。考核通过后由质量工程师在研发平台将通过系统考核的软件版本经持续集成流水线入产品库管理。当项目组需要在研发平台开展联试活动时,研发平台将受控库内的代码部署到联试环境,经联试策划和联试执行等活动,归零联试相关问题,经质量工程师在研发平台将通过联试验证的版本经持续集成流水线入产品库管理。当项目组需要将已经研制完成的软件交付给用户,项目组首先在研发平台发起产品库出库申请,经质量工程师和配置管理委员会批准同意,研发平台自动将产品库中软件的下载链接发送给项目组成员进行下载,流程结束后链接将自动失效。

图4 产品出入库流程图

5 结论

综上所述,基于研发平台持续集成流水线的配置管理可以实现软件出入库流转自动化,大大提高了出入库效率,同时也进一步降低维护成本,研发平台持续集成流水线在研发平台得到了极大的应用,大大提高了开发的质量和速度,保证项目团队可以及时地完成开发任务。

猜你喜欢

安装包配置管理出入库
汽车委托外加工零件自动化配置管理
物资设备出入库信息管理系统的设计及开发
CentOS用yum方式装MySQL
建设CMDB任重道远
基于PLM 的IRIS 配置管理的实施和应用
信息技术在医用耗材出入库科学化管理中的应用