基于SALTSTACK的自动发布系统研究
发布时间:2021-11-03 11:12
DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进软件研发人员(Dev)和IT运维技术人员(Ops)之间的沟通、协作与整合。随着近些年不断的探索与实践,DevOps已从最开始的流行词汇逐渐转化为行业的焦点技术,它正在给传统软件开发模式带来巨大的变革。越来越多的企业希望能有个平台或工具来统一支持环境管理工作及开发的交付工作,用以提升开发、测试过程中的部署效率,简化开发、测试和运维过程中的管理流程,降低沟通成本,降低交付风险。本文旨在根据持续集成和运维管理实现DevOps的部分环节,最终形成一套自动发布系统,囊括了测试环境各类信息,实现了应用的快速便捷搭建,维护了测试环境的稳定性。对于整个研发团队而言是非常实用的工具。本文的主要工作包括对企业环境多方位的分析,设计并实现自动发布系统方案。将Saltstack与Jenkins集成在一起,实现管理和部署的一体化。展示自动发布系统的各个模块主要功能页面,并阐述各页面的详细功能及使用说明。以及结合自动发布系统各个页面,按照操作顺序详细介绍本系统的使用方法及Jenkins中如何进行配置、发布。
【文章来源】:东南大学江苏省 211工程院校 985工程院校 教育部直属院校
【文章页数】:61 页
【学位级别】:硕士
【部分图文】:
系统总体架构图
东南大学硕士学位论文16图4-2应用相关配置构成及发布流程图应用主要为tomcat,包含tomcat自身信息配置、数据源配置及系统信息配置。Tomcat自身信息配置与数据源配置都是提前配置在自动化发布系统中,发布时统一放置相应服务器上。系统信息配置在代码库中,同时也将该类配置关联到自动化发布系统中,根据不同环境生成多套不同的配置,根据实际发布的环境将相应配置替换至war包中,发布至该应用。为了防止代码错误引起的环境不可用,增加中转服务器校验功能,在非应用机器用新代码进行接口校验,校验成功才会向应用机器发布,不影响正常应用的使用。4.2自动发布系统主要功能模块设计4.2.1系统管理该模块主要用于系统的录入及显示,包含了公司全部系统的详细信息。系统信息根据公司的规范,不同的系统需要有独立的识别码和独立的代码库,关联相应负责人信息,关联域名,关联系统与环境相关的配置文件,关联各个环境的发布任务及任务详情。系统基本信息手工维护,包括系统码、模块码、代码库、负责人信息、域名以及与环境相关配置文件。系统各个环境发布任务及任务详情,在相关信息配置完成后,自动显示在该关联界面,便于查看、管理。系统关联的域名配置为生产域名,各个环境有自己独立的环境标识,各个环境的域名即
东南大学硕士学位论文18图4-3各模块关系图1)模板管理用于维护各个系统代码中与环境相关的配置,即不同的环境配置项相同但值不同的配置。维护信息包括:系统名称、代码库地址、具体配置文件名称及路径、模板版本等。配置模板中配置的文件,会定时到代码库检查是否有更新,文件有更新即给出模板过期提示,以提醒负责人对使用该模板的方案进行更新。2)方案管理用于维护各个系统不同环境的方案配置。维护信息包括:方案名称、系统名称、方案所属环境类型、代码库地址、具体配置文件名称及路径、具体配置文件内容、方案版本等。配置文件内容包含配置项名称、配置项初始值、配置项修改值等。比如A系统,我们需要配置SST和SIT环境,取A系统的配置模板a_template,配置两个方案a_scheme_sst、a_scheme_sit。两个方案因为是同一个系统,所以模板相同,但由于环境不同,配置项的值不一样,所以需要配置两个方案,分别用于不同环境的两个应用。两个方案中配置文件的修改值是不一样的,SST环境方案是SST环境相关配置,SIT环境方案是SIT环境相关配置,例如A系统需要调用B系统,需要在配置文件里面配置B系统的调用域名,则SST环境的配置的应该是public.bbb2-bbb1.xxx-sst.org,SIT环境的配置则应该是public.bbb2-bbb1.xxx-sit.org。模板中的某个配置文件有更新时,也会同步显示在使用该模板的方案中,即给出方案过期提示,有更新文件名称飘红,以提醒负责人对该方案下有更新的文件进行处理。更新具体某个文件时,对该文件中更新的单个配置项给出更新提醒,包括:更新、新增、删除。由于需要配置单个文件以及修改文件中单个配置项的值,方案中需要可以对文件进行单个选中,选中的文件显示该文件下的所有配置项,每个配置项各自为一条记录,该条记录包含配
【参考文献】:
期刊论文
[1]DevOps发展现状及趋势研究[J]. 乔玮,赵文瑞. 数字技术与应用. 2018(04)
[2]DevOps发展现状研究[J]. 牛晓玲,吴蕾. 电信网技术. 2017(10)
[3]基于测试需求的持续集成环境研究与实践[J]. 李兴凯,曾东旭,陈敏. 软件导刊. 2017(06)
[4]自动化运维工具在企业信息系统管理中的应用[J]. 龙炜. 微型机与应用. 2017(05)
[5]基于源代码持续集成的研发项目管理应用研究[J]. 孙恒一,段琳. 数字技术与应用. 2016 (12)
[6]HTTP接口自动化测试方法研究[J]. 杨清玉,李金丽,陈吉兰,李志伟. 微型机与应用. 2016(18)
[7]云计算环境下业务自动化部署的设计与实现[J]. 汪源,刘传昌. 软件. 2014(09)
[8]大数据时代的挑战、价值与应对策略[J]. 陈如明. 移动通信. 2012(17)
[9]软件项目开发中的持续集成研究[J]. 陈刚,羌铃铃. 项目管理技术. 2011(12)
[10]基于多平台的自动化部署方案的研究与实现[J]. 陈思. 电子测试. 2011(05)
硕士论文
[1]基于SaltSatck的云数据库高可用方案的设计与实现[D]. 徐涛.南京邮电大学 2016
[2]基于OpenStack构建私有云计算平台[D]. 王霄飞.华南理工大学 2012
[3]某公司软件持续集成改进的分析设计及实施[D]. 李进.北京邮电大学 2012
[4]云计算自动化软件安装系统的设计与实现[D]. 吴江丽.河北工业大学 2011
本文编号:3473580
【文章来源】:东南大学江苏省 211工程院校 985工程院校 教育部直属院校
【文章页数】:61 页
【学位级别】:硕士
【部分图文】:
系统总体架构图
东南大学硕士学位论文16图4-2应用相关配置构成及发布流程图应用主要为tomcat,包含tomcat自身信息配置、数据源配置及系统信息配置。Tomcat自身信息配置与数据源配置都是提前配置在自动化发布系统中,发布时统一放置相应服务器上。系统信息配置在代码库中,同时也将该类配置关联到自动化发布系统中,根据不同环境生成多套不同的配置,根据实际发布的环境将相应配置替换至war包中,发布至该应用。为了防止代码错误引起的环境不可用,增加中转服务器校验功能,在非应用机器用新代码进行接口校验,校验成功才会向应用机器发布,不影响正常应用的使用。4.2自动发布系统主要功能模块设计4.2.1系统管理该模块主要用于系统的录入及显示,包含了公司全部系统的详细信息。系统信息根据公司的规范,不同的系统需要有独立的识别码和独立的代码库,关联相应负责人信息,关联域名,关联系统与环境相关的配置文件,关联各个环境的发布任务及任务详情。系统基本信息手工维护,包括系统码、模块码、代码库、负责人信息、域名以及与环境相关配置文件。系统各个环境发布任务及任务详情,在相关信息配置完成后,自动显示在该关联界面,便于查看、管理。系统关联的域名配置为生产域名,各个环境有自己独立的环境标识,各个环境的域名即
东南大学硕士学位论文18图4-3各模块关系图1)模板管理用于维护各个系统代码中与环境相关的配置,即不同的环境配置项相同但值不同的配置。维护信息包括:系统名称、代码库地址、具体配置文件名称及路径、模板版本等。配置模板中配置的文件,会定时到代码库检查是否有更新,文件有更新即给出模板过期提示,以提醒负责人对使用该模板的方案进行更新。2)方案管理用于维护各个系统不同环境的方案配置。维护信息包括:方案名称、系统名称、方案所属环境类型、代码库地址、具体配置文件名称及路径、具体配置文件内容、方案版本等。配置文件内容包含配置项名称、配置项初始值、配置项修改值等。比如A系统,我们需要配置SST和SIT环境,取A系统的配置模板a_template,配置两个方案a_scheme_sst、a_scheme_sit。两个方案因为是同一个系统,所以模板相同,但由于环境不同,配置项的值不一样,所以需要配置两个方案,分别用于不同环境的两个应用。两个方案中配置文件的修改值是不一样的,SST环境方案是SST环境相关配置,SIT环境方案是SIT环境相关配置,例如A系统需要调用B系统,需要在配置文件里面配置B系统的调用域名,则SST环境的配置的应该是public.bbb2-bbb1.xxx-sst.org,SIT环境的配置则应该是public.bbb2-bbb1.xxx-sit.org。模板中的某个配置文件有更新时,也会同步显示在使用该模板的方案中,即给出方案过期提示,有更新文件名称飘红,以提醒负责人对该方案下有更新的文件进行处理。更新具体某个文件时,对该文件中更新的单个配置项给出更新提醒,包括:更新、新增、删除。由于需要配置单个文件以及修改文件中单个配置项的值,方案中需要可以对文件进行单个选中,选中的文件显示该文件下的所有配置项,每个配置项各自为一条记录,该条记录包含配
【参考文献】:
期刊论文
[1]DevOps发展现状及趋势研究[J]. 乔玮,赵文瑞. 数字技术与应用. 2018(04)
[2]DevOps发展现状研究[J]. 牛晓玲,吴蕾. 电信网技术. 2017(10)
[3]基于测试需求的持续集成环境研究与实践[J]. 李兴凯,曾东旭,陈敏. 软件导刊. 2017(06)
[4]自动化运维工具在企业信息系统管理中的应用[J]. 龙炜. 微型机与应用. 2017(05)
[5]基于源代码持续集成的研发项目管理应用研究[J]. 孙恒一,段琳. 数字技术与应用. 2016 (12)
[6]HTTP接口自动化测试方法研究[J]. 杨清玉,李金丽,陈吉兰,李志伟. 微型机与应用. 2016(18)
[7]云计算环境下业务自动化部署的设计与实现[J]. 汪源,刘传昌. 软件. 2014(09)
[8]大数据时代的挑战、价值与应对策略[J]. 陈如明. 移动通信. 2012(17)
[9]软件项目开发中的持续集成研究[J]. 陈刚,羌铃铃. 项目管理技术. 2011(12)
[10]基于多平台的自动化部署方案的研究与实现[J]. 陈思. 电子测试. 2011(05)
硕士论文
[1]基于SaltSatck的云数据库高可用方案的设计与实现[D]. 徐涛.南京邮电大学 2016
[2]基于OpenStack构建私有云计算平台[D]. 王霄飞.华南理工大学 2012
[3]某公司软件持续集成改进的分析设计及实施[D]. 李进.北京邮电大学 2012
[4]云计算自动化软件安装系统的设计与实现[D]. 吴江丽.河北工业大学 2011
本文编号:3473580
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3473580.html