CN107729016A - 一种基于docker的rpm包编译方法和系统 - Google Patents
一种基于docker的rpm包编译方法和系统 Download PDFInfo
- Publication number
- CN107729016A CN107729016A CN201710865381.3A CN201710865381A CN107729016A CN 107729016 A CN107729016 A CN 107729016A CN 201710865381 A CN201710865381 A CN 201710865381A CN 107729016 A CN107729016 A CN 107729016A
- Authority
- CN
- China
- Prior art keywords
- rpm
- docker
- bags
- machine learning
- sensitive
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000007613 environmental effect Effects 0.000 claims abstract description 31
- 238000010801 machine learning Methods 0.000 claims abstract description 26
- 238000012986 modification Methods 0.000 claims abstract description 24
- 230000004048 modification Effects 0.000 claims abstract description 24
- 238000001514 detection method Methods 0.000 claims description 9
- 230000006835 compression Effects 0.000 claims description 8
- 238000007906 compression Methods 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 4
- 230000003252 repetitive effect Effects 0.000 abstract description 3
- 238000010276 construction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于docker的rpm包编译方法,包括以下步骤:对rpm包进行分类,对不同类别的rpm包建立相对应的docker容器;获取rpm包对应更改的docker容器环境变量修改值,建立机器学习数据库;编译过程中触发机器学习数据库内数据后,自动将rpm包与对应的docker容器进行压缩存档。本发明通过机器学习方法建立rpm包与docker容器的一一对应关系,将手动操作中对docker包环境变量修改数值传递给系统,并建立环境变量对应的敏感词汇数据库,检测到触发敏感词汇后,自动完成rpm包与docker包环境变量修改操作的对应关系,并进行压缩存档,减少了编译过程中开发人员的手动操作重复过程,提高了整体开发速度。
Description
技术领域
本发明涉及服务器应用层技术领域,尤其是一种基于docker的rpm包编译方法和系统。
背景技术
在进行K-UX系统编译构造过程中涉及到大量rpm包的编译,其中相当一部分的rpm涉及到大量环境变量的修改,其中某些环境变量的修改是相互影响的,不能采用批量处理的方法,大大降低了系统开发人员的开发速度,同时每个小版本的rpm编译构造过程差异很小,每次系统的小版本升级会造成开发人员的大量重复性工作,因此需要一种自动化编译构造平台能够减少开发人员的手动操作,从而提高整体的开发速度。
发明内容
本发明的目的是提供一种基于docker的rpm包编译方法和系统,实现rpm包的自动化编译构造。
为实现上述目的,本发明采用下述技术方案:
一种基于docker的rpm包编译方法,包括以下步骤:
对rpm包进行分类,对不同类别的rpm包建立相对应的docker容器;
获取rpm包对应更改的docker容器环境变量修改值,建立机器学习数据库;
编译过程中触发机器学习数据库内数据后,自动将rpm包与对应的docker容器进行压缩存档。
进一步地,所述对rpm包进行分类,对不同类别的rpm包建立相对应的docker容器,包括:
rpm包在编译完成之后将docker容器对应的container ID与rpm的group id进行对应,建立docker容器与rpm包分类对应关系。
进一步地,所述获取rpm包对应更改的docker容器环境变量修改数值,建立机器学习数据库,包括:
建立敏感词汇数据库;
将rpm包通过编译过程中开发人员手动修改docker容器的环境变量值传递给系统,形成机器学习数据库。
进一步地,所述建立敏感词汇数据库,包括:
将系统环境变量设置为敏感词汇,形成敏感词汇数据库。
进一步地,所述编译过程中触发机器学习数据库内数据后,自动将rpm包与对应的docker容器进行压缩存档,包括:
测试过程中通过关键字匹配方式进行敏感词汇检测,触发敏感词汇后系统实现rpm包与对应docker容器的环境变量修改操作进行对应存档。
一种基于docker的rpm包编译系统,包括:
docker容器管理模块,建立rpm包与docker容器的对应关系;
机器学习模块,获取手动操作中对docker容器环境变量的修改操作值形成机器学习数据库,编译过程中的建立rpm包与docker容器环境变量修改操作的压缩存档。
进一步地,所述机器学习模块包括:
敏感词汇库建立单元,完成将环境变量设置为敏感词汇并形成敏感词汇数据库操作;
敏感词汇检测单元,编译过程中对敏感词汇进行关键字匹配检测操作;
匹配单元,建立rpm包与对应docker容器的环境变量修改操作匹配压缩存档。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
本发明通过机器学习方法建立rpm包与docker容器的一一对应关系,将手动操作中对docker包环境变量修改数值传递给系统,并建立环境变量对应的敏感词汇数据库,检测到触发敏感词汇后,自动完成rpm包与docker包环境变量修改操作的对应关系,并进行压缩存档,本发明减少了编译过程中开发人员的手动操作重复过程,提高了整体开发速度。
附图说明
图1是本发明基于docker的rpm包编译方法流程图;
图2是本发明基于docker的rpm包编译系统原理图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
如图1所示,一种基于docker的rpm包编译方法,包括以下步骤:
S1、对rpm包进行分类,对不同类别的rpm包建立相对应的docker容器;
S2、获取rpm包对应更改的docker容器环境变量修改值,建立机器学习数据库;
S3、编译过程中触发机器学习数据库内数据后,自动将rpm包与对应的docker容器进行压缩存档。
对rpm包进行分类,对不同类别的rpm包建立相对应的docker容器,包括:rpm包在编译完成之后将docker容器对应的container ID与rpm的group id进行对应,建立docker容器与rpm包分类对应关系。
获取rpm包对应更改的docker容器环境变量修改数值,建立机器学习数据库,包括:建立敏感词汇数据库,将常用系统环境变量设为敏感词汇,例如:HOME,JAVAHOME,PERL_LOCAL_LIB_ROOTPERL_MM_OP等,即将所有会用到的环境变量全部作为敏感词汇建立数据库;将rpm包通过编译过程中开发人员手动修改docker容器的环境变量值传递给系统,形成机器学习数据库,在进行rpm包编译的过程中,有一些包进行如下的操作:
PERL_MM_OP=/usr/,export$PERL_MM_OP,类似于这样的操作,rpm编译会报错,需要开发人员手动设置后,rpm包的编译才能够通过,记录哪些rpm包经过了这些操作才通过的,因此可以将操作和rpm包进行一一对应。
建立敏感词汇数据库,包括:将系统环境变量设置为敏感词汇,形成敏感词汇数据库。
编译过程中触发机器学习数据库内数据后,自动将rpm包与对应的docker容器进行压缩存档,包括:测试过程中通过关键字匹配方式进行敏感词汇检测,触发敏感词汇后系统实现rpm包与对应docker容器的环境变量修改操作进行对应存档。
如图2所示,一种基于docker的rpm包编译系统,包括:docker容器管理模块11,建立rpm包与docker容器的对应关系;机器学习模块12,获取手动操作中对docker容器环境变量的修改操作值形成机器学习数据库,编译过程中的建立rpm包与docker容器环境变量修改操作的压缩存档。
机器学习模块包括:敏感词汇库建立单元121,完成将环境变量设置为敏感词汇并形成敏感词汇数据库操作;敏感词汇检测单元122,编译过程中对敏感词汇进行关键字匹配检测操作;匹配单元123,建立rpm包与对应docker容器的环境变量修改操作匹配压缩存档。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (7)
1.一种基于docker的rpm包编译方法,其特征是,包括以下步骤:
对rpm包进行分类,对不同类别的rpm包建立相对应的docker容器;
获取rpm包对应更改的docker容器环境变量修改值,建立机器学习数据库;
编译过程中触发机器学习数据库内数据后,自动将rpm包与对应的docker容器进行压缩存档。
2.如权利要求1所述的一种基于docker的rpm包编译方法,其特征是,所述对rpm包进行分类,对不同类别的rpm包建立相对应的docker容器,包括:
rpm包在编译完成之后将docker容器对应的container ID与rpm的group id进行对应,建立docker容器与rpm包分类对应关系。
3.如权利要求1所述的一种基于docker的rpm包编译方法,其特征是,所述获取rpm包对应更改的docker容器环境变量修改数值,建立机器学习数据库,包括:
建立敏感词汇数据库;
将rpm包通过编译过程中开发人员手动修改docker容器的环境变量值传递给系统,形成机器学习数据库。
4.如权利要求3所述的一种基于docker的rpm包编译方法,其特征是,所述建立敏感词汇数据库,包括:
将系统环境变量设置为敏感词汇,形成敏感词汇数据库。
5.如权利要求3所述的一种基于docker的rpm包编译方法,其特征是,所述编译过程中触发机器学习数据库内数据后,自动将rpm包与对应的docker容器进行压缩存档,包括:
测试过程中通过关键字匹配方式进行敏感词汇检测,触发敏感词汇后系统实现rpm包与对应docker容器的环境变量修改操作进行对应存档。
6.一种基于docker的rpm包编译系统,采用权利要求1至5任一项权利要求所述的方法,其特征是,包括:
docker容器管理模块,建立rpm包与docker容器的对应关系;
机器学习模块,获取手动操作中对docker容器环境变量的修改操作值形成机器学习数据库,编译过程中的建立rpm包与docker容器环境变量修改操作的压缩存档。
7.如权利要求6所述的一种基于docker的rpm包编译系统,其特征是,所述机器学习模块包括:
敏感词汇库建立单元,完成将环境变量设置为敏感词汇并形成敏感词汇数据库操作;
敏感词汇检测单元,编译过程中对敏感词汇进行关键字匹配检测操作;
匹配单元,建立rpm包与对应docker容器的环境变量修改操作匹配压缩存档。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710865381.3A CN107729016B (zh) | 2017-09-22 | 2017-09-22 | 一种基于docker的rpm包编译方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710865381.3A CN107729016B (zh) | 2017-09-22 | 2017-09-22 | 一种基于docker的rpm包编译方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107729016A true CN107729016A (zh) | 2018-02-23 |
CN107729016B CN107729016B (zh) | 2021-03-09 |
Family
ID=61207850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710865381.3A Active CN107729016B (zh) | 2017-09-22 | 2017-09-22 | 一种基于docker的rpm包编译方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107729016B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984179A (zh) * | 2018-06-28 | 2018-12-11 | 北京奇安信科技有限公司 | 一种Linux下编译处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140229164A1 (en) * | 2011-02-23 | 2014-08-14 | New York University | Apparatus, method and computer-accessible medium for explaining classifications of documents |
CN104915412A (zh) * | 2015-06-05 | 2015-09-16 | 北京京东尚科信息技术有限公司 | 一种动态管理数据库连接的方法及系统 |
CN106648651A (zh) * | 2016-12-15 | 2017-05-10 | 广州视源电子科技股份有限公司 | 一种安装包的制作方法及装置 |
CN106648741A (zh) * | 2016-10-18 | 2017-05-10 | 广州视睿电子科技有限公司 | 一种应用系统部署方法及装置 |
US20170168715A1 (en) * | 2015-12-11 | 2017-06-15 | Vmware, Inc. | Workload aware numa scheduling |
-
2017
- 2017-09-22 CN CN201710865381.3A patent/CN107729016B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140229164A1 (en) * | 2011-02-23 | 2014-08-14 | New York University | Apparatus, method and computer-accessible medium for explaining classifications of documents |
CN104915412A (zh) * | 2015-06-05 | 2015-09-16 | 北京京东尚科信息技术有限公司 | 一种动态管理数据库连接的方法及系统 |
US20170168715A1 (en) * | 2015-12-11 | 2017-06-15 | Vmware, Inc. | Workload aware numa scheduling |
CN106648741A (zh) * | 2016-10-18 | 2017-05-10 | 广州视睿电子科技有限公司 | 一种应用系统部署方法及装置 |
CN106648651A (zh) * | 2016-12-15 | 2017-05-10 | 广州视源电子科技股份有限公司 | 一种安装包的制作方法及装置 |
Non-Patent Citations (3)
Title |
---|
CARL STAELIN-HEWLETT-PACKARD LABORATORIES: "mkpkg:A software packaging tool", 《USENIX TECHNICAL PROGRAM-PAPER-PROCEEDONGS OF THE 12TH SYSTEMS ADMINISTRATION CONFERENCE(LISA"98)》 * |
GARYOND: "Docker容器环境变量设置与查看", 《HTTPS://WWW.JIANSHU.COM/P/E3B81EEEC954》 * |
堆栈内存溢出: "动态设置docker容器的JAVA_HOME", 《HTTPS://STACKOOM.COM/QUESTION/2XAJB//动态设置DOCKER容器的JAVA-HOME》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984179A (zh) * | 2018-06-28 | 2018-12-11 | 北京奇安信科技有限公司 | 一种Linux下编译处理方法及装置 |
CN108984179B (zh) * | 2018-06-28 | 2022-08-02 | 奇安信科技集团股份有限公司 | 一种Linux下编译处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107729016B (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104317618B (zh) | 一种固件分区处理方法和装置 | |
CN105224458A (zh) | 一种数据库测试方法及系统 | |
CN109214642B (zh) | 一种建筑施工工序约束的自动抽取和分类方法及系统 | |
CN105678344A (zh) | 一种电力仪表设备的智能分类方法 | |
CN103324681B (zh) | 基于cad的工艺卡片数据生成方法 | |
CN111008706B (zh) | 一种自动标注、训练、预测海量数据的处理方法 | |
CN107729016A (zh) | 一种基于docker的rpm包编译方法和系统 | |
CN108021789A (zh) | 一种鉴定体细胞突变的综合策略 | |
CN117451115B (zh) | 一种用于分拣输送系统的实时状态监测方法 | |
CN109318228B (zh) | 桌面级六自由度机械臂快速控制原型实验系统 | |
CN102436542B (zh) | 一种基于格拉布斯规则和矩阵实验室语言的药学测试数据中异常值的剔除方法 | |
CN110347570A (zh) | 一种ide环境下代码自动生成工具分析方法 | |
CN111062827B (zh) | 一种基于人工智能模式的工程监理方法 | |
CN111475358A (zh) | 一种控制器接口的自动化测试方法及装置 | |
CN112016675A (zh) | 用于钢板表面缺陷检测的cnn模型训练方法和装置 | |
CN110716778A (zh) | 应用兼容性测试方法、装置及系统 | |
CN105843891A (zh) | 一种增量式的在线特征提取分析方法及系统 | |
CN113822379B (zh) | 工艺制程异常分析方法、装置、电子设备及存储介质 | |
CN106610964A (zh) | 异常报销数据分析方法及服务器 | |
CN105138513A (zh) | 确定汉语词汇相似度的方法和装置 | |
CN110197143B (zh) | 一种结算台物品识别方法、装置及电子设备 | |
CN109472319B (zh) | 一种三维模型分类方法以及检索方法 | |
CN112527631A (zh) | bug定位方法、系统、电子设备及存储介质 | |
CN113628077A (zh) | 生成不重复考题的方法、终端及可读存储介质 | |
CN113034422A (zh) | 注塑成型产品良率的检测方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210219 Address after: Building 9, No.1, guanpu Road, Guoxiang street, Wuzhong Economic Development Zone, Wuzhong District, Suzhou City, Jiangsu Province Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd. Address before: Room 1601, floor 16, 278 Xinyi Road, Zhengdong New District, Zhengzhou City, Henan Province Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |