浅谈容器化环境下的软件版本发布管理

来源 :科技信息·下旬刊 | 被引量 : 0次 | 上传用户:bird2000521
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:对比传统的软件版本发布管理过程与容器化环境下的软件版本发布管理过程的不同,介绍如何在容器化环境下,做好软件版本发布。通过持续集成技术,基于容器化环境,完成代码的编译,发布docker镜像,部署到应用主机;结合TFS等工作流程工具,配合版本管理流程,实现测试环境及生产环境的版本发布管理。同时,对版本发布过程中的问题进行探讨。
  关键词:容器化;版本发布;版本管理;持续集成
  一、引 言
  随着mesos、marathon、docker等容器化技术的发展和广泛应用,应用系统的发布、部署方式都有了很大变化。基于容器化进行代码发布,使软件代码版本发布管理流程与以往有所不同。
  传统管理模式,开发并测试通过的代码,提交到配置管理工具,交由平台、运维人员编译部署,完成软件代码的发布。通过这种模式,实现应用系统的代码发布过程控制。
  随着容器化技术的应用,开发部署模式发生了很大变化,从而带来了整个版本发布管理流程的变化和改善。
  Docker是一个开源的应用容器引擎,开发人员可以将应用代码和依赖包,打包到一个容器内,然后将整个可执行程序发布到任何流行的Linux主机上,实现代码发布、部署。这个打包过程通过持续集成技术可以实现自动化版本发布。
  二、以往代码版本发布管理模式
  代码版本发布管理模式,根据项目规模,有很多种。大型项目中,有专门的版本发布管理流程,进行版本管理及发布控制。小型项目,较好的情况是,能够进行代码版本管理,但版本发布过程相对随意。
  传统的版本发布流程为:根据版本发布计划,开发人员开发代码,提交到配置管理工具中的代码待测库中;平台人员拉取待测库的代码,根据开发人员提供的编译顺序要求,进行软件代码编译发布,将可执行程序发布到测试环境;测试人员在测试环境中,完成测试,测试通过后,代码进入待发布库;待版本计划中拟发布的全部需求,完成开发,通过测试,由配置管理员冻结待发布库,并获取待发布库的代码,交给平台、运维人员编译部署,实现最终的软件版本发布。这个过程中,大量的人工介入工作,另外,复杂的配置文件在配置过程中耗费大量时间和精力,甚至经常出现因为环境变量、配置文件发生的变化,导致测试环境已经测试通过的代码,部署到生产环境时,无法正常运行,再投入人力、精力,进行问题定位、解决。
  这样的代码版本发布管理模式,能够实现应用代码的控制管理,发布正确的、完整的软件版本。主要存在的问题是,版本发布的动作较多,容易出现代码发布不完全、多套环境上运行情况不一致等问题。
  三、容器化环境下的版本发布管理模式
  前面谈到容器化环境下,使用Docker应用容器引擎,发布镜像,实现代码发布、部署。
  这个过程,在管理流程描述上,与传统版本发布管理模式是一致的,代码提交配置库,完成测试,测试通过后,进行代码编译发布。
  主要的变化在于,版本发布过程中,借助持续集成技术,结合TFS、svn等工作流程工具、配置管理工具,固定版本发布計划,基于容器化环境,完成代码的自动化拉取、编译和检查,发布Docker镜像,平台、运维人员非常方便的部署到应用主机,从而实现版本发布管理。
  在项目实际工作中,可以采取的流程为:结合TFS工作流程工具,确定版本发布计划,开发人员根据版本发布计划完成代码开发,并将代码提交配置库后,置工作任务状态,触发持续集成工具;持续集成工具,自动下载已提交代码,根据工具中已配置、已识别的编译顺序,完成应用代码的编译,并发布镜像到镜像仓库,供测试及生产发布部署。在镜像生成后,测试人员可拉取镜像,在Docker容器内,完成代码测试,测试通过则镜像版本静止,测试不通过,重复代码修复、提交、持续集成的过程,直到测试通过。测试通过后的镜像,可直接用于平台、运维人员部署到生产环境Docker容器内。
  以上版本发布管理工作,解决了传统模式下人工介入问题,解决了发布遗漏导致的测试环境和生产环境不一致问题,在实现软件代码版本发布工作上,更加有效、更加简化、更加完整。
  容器化环境下的持续集成编译时,有两种策略可以选择,全部编译配置库分支下所有代码或只编译变动代码。另外,非常有必要在容器化环境下实施自动化编译检查。
  容器化持续集成,编译结果稽核可以采取的处理方式为:每次编译前先执行make clean;然后make或者make release。make完成后,采用grep error、错误等,并排除合理的error信息。这种自动化检查方式简单,但不是很准确,而且一旦新开发带error的cpp或者.h,其中出现警告信息的话,就会出现编译报错终止,需要对出现的错误再修改规则。可以采取的优化措施为:make clean 之后也加入错误检查,检查相应文件是否删除;make或者make release编译某个目录的时候,通过检查文件,比如动态库或者可执行程序等是否生成,来判断编译结果的准确性。这些优化措施都需要整理出对应关系,这个对应关系是指定某个目录编译产生什么样的文件、清除什么样的文件。有些应用的动态库是带时间戳的、而且也不清除,比较复杂,自动化编译查错需要继续研究。但作为保证措施,大大降低了版本发布管理过程中,可能出现的代码发布遗漏风险。
  四、遇到的问题及解决方案
  无论是传统模式还是容器化模式,都会存在一定的问题,在容器化环境下的软件版本发布管理,也遇到一些技术及流程问题,通过实践,形成了解决方案。
  刚开始进行容器化下的持续集成时,也出现过开发人员编译没有问题,但持续集成编译报错问题,这种现象一般都是由于开发人员和持续集成工具所用的编译环境存在差别,基于容器化解决的最根本的问题就是环境统一的问题。因此版本发布管理中,首先要统一代码编译发布的基础环境,其次统一维护。
  采用docker镜像编译开发新增的组件、程序、配置等时需要通知开发人员,否则可能出现程序用的旧的组件、或者旧的静态库、旧的配置等问题。同时,反过来,开发人员进行代码开发时,注意事项、关联编译等版本发布关键信息也要通知持续集成平台。这些版本发布管理流程、角色职责的规定、改进,会提高版本发布工作的上下游协同,提高版本发布成功率。
  五、结 论
  容器化技术的发展,推动了版本发布管理流程的改进,更好的发挥了持续集成的作用,更加有效地提升了版本发布效率。
  参考文献:
  [1]邱晖 基于容器的持续集成和部署方法研究 [期刊论文]- 《广东通信技术》 ,2017(10):62-66[S]
其他文献
摘要:在市场竞争环境下,施工企业利润空间越来越小。做好二次经营是施工企业降低成本,提高竞争力的关键。笔者将主要针对项目如何通过“四控制、三管理、一协调”工程管理、强化责任成本管理及合同创收增效管理三方面来展开讨论。  关键词:通过;管理;提高;质量和成效  引言  通俗地讲,一次经营是指施工企业为了获取工程项目而采取的一些行为或方法,其主要目的是在一定的条件下成功地获取合同。而二次经营则是企业在获
期刊
摘要:土地资源管理信息化建设能够有效改进传统的管理方式,提高土地资源管理效率,减轻工作人员负担,在我国得到了广泛推广与应用。本文对此进行了详细分析,并提出了加强土地资源管理信息化建设的对策,即建立完善的信息化管理体系,加强信息化网络安全的管理和网络信息系统建设,加强网络信息技术的推广与普及。  关键词:土地资源;管理;信息化;网络安全  一、引言  近年来,土地资源稀缺其管理不科学等问题愈加严重。
期刊
固定资产——从会计准则定义角度就是使用寿命超过一个会计期间,能为生产商品、提供劳务、出租或经营管理而持有的有形资产,是企业的重要经济来源。因此,固定资产的管理在企业生产经营中有着非常重要的意义,科学的固定资产管理能为企业带来更高的资金使用效率,为企业创造更多的经济效益。  一、固定资产管理问题分析  然而,一些企业的管理层并没有意识到科学的固定资产管理在企业生产经营中的意义,在经营中还存在以下问题
期刊
摘要:集输大队渤三联合站位于河口采油厂渤南油区中部,担负着渤南油田的原油和污水处理任务,日处理污水9200 m3左右,其中7000 m3經过精细过滤器处理,其水质指标需要达到SY/T5329标准中推荐的A3级:污水含油≤8mg/l、悬浮物含量≤3mg/l。处理工艺为两级混凝沉降除油+核桃壳、纤维球两级精细过滤除杂。  关键词:污水处理;分水器;含油量  1 问题的提出  渤南油田属低渗透、低饱和、
期刊
摘要:为在汽车外饰灯具开发前期,减少汽车使用过程中灯具内部雾气的形成,文章分析了车灯内部集水的现象及成因,介绍了雾气形成机理,车灯内部热场分布和水汽含量是车灯雾气产生的主要因素。指出通过在设计中平衡热场分布和减少水汽含量以及前期识别和预防,可以有效减少雾气形成,降低车灯成本,减少客户抱怨。  关键词:车灯;雾气;成因;解决对策  引言  随着经济的飞速发展,汽车在人们日常生活中扮演着越来越重要的角
期刊
摘要:农业企业技术创新能够带动企业的发展,提高企业的管理的综合水平,实现企业财务制度的完善,对于企业的发展来说具有积极的意义。技术创新带来高效发展的同时也带来了很高的风险性,在财务风险的管控上存在着复杂而持续的特点,并且风险的形式受因素的影响较大,因此农业企业应该结合技术创新下的财务风险的特点进行研究,从而实现财务风险控制水平的提升。  关键词:技术创新;财务风险;农业企业;控制管理  技术创新所
期刊
摘要:原子核的结团结构已经成为当代核物理研究的重要课题,特别是轻核的结团。在许多稳定核内都存在结团现象,目前关于结团结构的实验主要集中在N=Z附近的轻核和滴线核中,其中以α结团最为常见,而且α结团在不同条件下会以不同的结团形状构成原子核。而在丰中子核区,结团中心和价中子也会在极度形变的条件下通过共价束缚形成核分子结构。  关键词:结团结构;α结团;核分子;分子轨道  结团作为构成物质的一种特殊结构
期刊
摘要:油井出砂是油田开采的一大难题。而其形成的关键因素是因为储集层为疏松胶结的砂岩,其次油井开采后期,经过长期注水开采会导致储层骨架破坏,继而使油井出砂。其危害不但有可能使砂埋产层,并且高速流动的砂粒,使井下装置严重磨损,同时会使地层出现亏空并发生坍塌,进而发生套损,导致油井报废停产等。在冲砂过程中,由于冲砂方式、施工人员操作不当、设备出现故障、地层漏失等原因造成冲散的砂子不能及时返出地面,正冲砂
期刊
摘要:目前,我国的工程建设项目管理已经取得了较好的效果,但是长期以来国家对于工程项目管理缺乏系统及科学的研究,并且其行业的实践起步也较晚。使得很多企业出現了粗放经营、机构配置及管理层次多、效率低下等现象。这直接导致了我国的工程项目管理相比于其他国家竞争力大大下降。本文对工程建设管理的意义、程序和管理办法进行了阐述,希望可以为今后的管理工作有所帮助。  关键词:工程建设;项目管理;工作  1工程建设
期刊
摘要:水电站是我国重点推广并支持发展的绿色能源建设项目,近几年,越来越受到国家的重视。本文分析了当前中小水电站运行管理的现状,并结合实际对中小水电站运行管理提出了几点个人的建议和对策,以供参考。  关键词:中小水电站;运行管理;建议;对策  1引言  随着社会经济的迅速发展以及工业化进行的不断加快,人们的物质、精神生活条件得到了很大的提高,但是人们赖以生存的自然环境却在不断遭受着污染和破环,为此,
期刊