CN111880894A - 一种前端容器镜像的生成方法及系统 - Google Patents

一种前端容器镜像的生成方法及系统 Download PDF

Info

Publication number
CN111880894A
CN111880894A CN202010603504.8A CN202010603504A CN111880894A CN 111880894 A CN111880894 A CN 111880894A CN 202010603504 A CN202010603504 A CN 202010603504A CN 111880894 A CN111880894 A CN 111880894A
Authority
CN
China
Prior art keywords
mirror image
container
dependency
packaging
deployment
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.)
Withdrawn
Application number
CN202010603504.8A
Other languages
English (en)
Inventor
高滨
刘正伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010603504.8A priority Critical patent/CN111880894A/zh
Publication of CN111880894A publication Critical patent/CN111880894A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及计算机技术领域,提供一种前端容器镜像的生成方法及系统,方法包括:根据国产机器不同构架下的CPU和操作系统版本,配置容器镜像打包部署前的依赖环境,输出为制定的基础镜像;当容器镜像打包部署前的依赖环境配置完成后,对前端代码进行组合配置,并对配置后的组合进行编译压缩;根据预先配置的容器镜像打包部署前的依赖环境,生成前端容器镜像,从而实现对各种国产CPU和操作系统的兼容,提升前端系统的辨识度和推广度。

Description

一种前端容器镜像的生成方法及系统
技术领域
本发明属于计算机技术领域,尤其涉及一种前端容器镜像的生成方法及系统。
背景技术
随着国产基础软硬件的蓬勃的发展,国产基础软硬件的推广和应用迎来了前所未有的机遇。目前越来越多的项目采用国产的基础软硬件,有些产品性能已经达到或接近国际先进水平。
容器技术是继虚拟化技术之后,逐渐成为对云计算领域具有深远影响的变革技术。容器技术的发展和应用,为各行业应用云计算提供了新思路,也对云计算的交付方式、效率、PaaS平台的构建等方面产生深远的影响,具体体现在以下几个方面:简化部署、快速启动、服务组合、易于迁移。虚拟化是云计算的重要基础,容器定义了一套从构建到执行的标准化体系,改变了传统的虚拟化技术,深度影响云计算领域,容器是云计算的未来。
前端容器化是软件开发的一种方法,在这种方法中,程序和它所依赖的组件和集合包,以及相关的环境变量配置文件都会被完全打包成容器镜像并进行单元测试,最终将这个容器部署到服务器的操作系统中。程序的容器也是一个个标准的单位。无关它们的代码、语言、软件/框架及的依赖关系是怎样的。这使得程序员和IT运维专员不用在每个环境中单独配置它们的配置信息。可以通过在部署程序的过程中不进行修改或少许修改的情况下,从而达到跨环境传输,且每一个容器中的程序又是彼此隔离的。
但是,目前前端容器化技术仅仅针对某些特定的CPU和操作系统,其兼容性较差,在国产CPU和操作系统环境下,需要对软硬件环境进行匹配和部署,给开发者带来不便。
发明内容
针对现有技术中的缺陷,本发明提供了一种前端容器镜像的生成方法,旨在解决现有技术中前端容器化技术仅仅针对某些特定的CPU和操作系统,其兼容性较差,在国产CPU和操作系统环境下,需要对软硬件环境进行匹配和部署,给开发者带来不便的问题。
本发明所提供的技术方案是:一种前端容器镜像的生成方法,所述方法包括下述步骤:
根据国产机器不同构架下的CPU和操作系统版本,配置容器镜像打包部署前的依赖环境,输出为制定的基础镜像;
当容器镜像打包部署前的依赖环境配置完成后,对前端代码进行组合配置,并对配置后的组合进行编译压缩;
根据预先配置的容器镜像打包部署前的依赖环境,生成前端容器镜像。
作为一种改进的方案,所述当容器镜像打包部署前的依赖环境配置完成后,对前端代码进行组合配置,并对配置后的组合进行编译压缩的步骤具体包括下述步骤:
对前端代码文件、依赖包和插件进行组合,并解压部署;
当解压部署完成时,对前端代码执行打包、压缩以及混淆动作。
作为一种改进的方案,所述依赖包为前端框架运行所需要的NPM源码包,所述插件是存在于前端框架系统中可独立运行的程序包。
作为一种改进的方案,所述根据预先配置的容器镜像打包部署前的依赖环境,生成前端容器镜像的步骤具体包括下述步骤:
拉取国产机器不同构架下的CPU和操作系统版本下的指定的基础镜像;
根据拉取到的基础镜像,将执行完成编译压缩的前端代码拷贝到所述基础镜像目录下。
本发明的另一目的在于提供一种前端容器镜像的生成系统,所述系统包括:
依赖环境配置模块,用于根据国产机器不同构架下的CPU和操作系统版本,配置容器镜像打包部署前的依赖环境,输出为制定的基础镜像;
打包模块,用于当容器镜像打包部署前的依赖环境配置完成后,对前端代码进行组合配置,并对配置后的组合进行编译压缩;
构建部署模块,用于根据预先配置的容器镜像打包部署前的依赖环境,生成前端容器镜像。
作为一种改进的方案,所述打包模块具体包括:
组装模块,用于对前端代码文件、依赖包和插件进行组合,并解压部署;
编译模块,用于当解压部署完成时,对前端代码执行打包、压缩以及混淆动作。
作为一种改进的方案,所述依赖包为前端框架运行所需要的NPM源码包,所述插件是存在于前端框架系统中可独立运行的程序包。
作为一种改进的方案,所述构建部署模块具体包括:
基础镜像拉取模块,用于拉取国产机器不同构架下的CPU和操作系统版本下的指定的基础镜像;
拷贝模块,用于根据拉取到的基础镜像,将执行完成编译压缩的前端代码拷贝到所述基础镜像目录下。
在本发明实施例中,根据国产机器不同构架下的CPU和操作系统版本,配置容器镜像打包部署前的依赖环境,输出为制定的基础镜像;当容器镜像打包部署前的依赖环境配置完成后,对前端代码进行组合配置,并对配置后的组合进行编译压缩;根据预先配置的容器镜像打包部署前的依赖环境,生成前端容器镜像,从而实现对各种国产CPU和操作系统的兼容,提升前端系统的辨识度和推广度。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1是本发明提供的前端容器镜像的生成方法的实现流程图;
图2是本发明提供的当容器镜像打包部署前的依赖环境配置完成后,对前端代码进行组合配置,并对配置后的组合进行编译压缩的实现流程图;
图3是本发明提供的根据预先配置的容器镜像打包部署前的依赖环境,生成前端容器镜像的实现流程图;
图4是本发明提供的前端容器镜像的生成系统的结构框图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的、技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
图1是本发明提供的前端容器镜像的生成方法的实现流程图,其具体包括下述步骤:
在步骤S101中,根据国产机器不同构架下的CPU和操作系统版本,配置容器镜像打包部署前的依赖环境,输出为制定的基础镜像;
在该步骤中,依据不同国产CPU架构制作不同的基础镜像源代码包。产品中前端工程主要依赖软件包A1,A2,A3等一系列的软件包和B1,B2,B3等一系列的开发管理工具包。而国产机器下不同的CPU架构和操作系统版本所对应的软件、工具包不一样,同样安装过程也是存在不同的差异性。
例如国产龙芯MIP架构的nodejs需要进行源码编译安装到操作系统中。该模块主要自动区分国产机器下不同架构的CPU和操作系统版本,为前端提供可运行的基础软件包、依赖包和工具包.最终配置器输出指定的基础镜像。
在步骤S102中,当容器镜像打包部署前的依赖环境配置完成后,对前端代码进行组合配置,并对配置后的组合进行编译压缩;
在步骤S103中,根据预先配置的容器镜像打包部署前的依赖环境,生成前端容器镜像。
在该步骤中,对前端的启动脚本进行赋权并启动前端工程,同时将打出的容器镜像推送到公共镜像库。
在本发明实施例中,如图2所示,当容器镜像打包部署前的依赖环境配置完成后,对前端代码进行组合配置,并对配置后的组合进行编译压缩的步骤具体包括下述步骤:
在步骤S201中,对前端代码文件、依赖包和插件进行组合,并解压部署;
在该步骤中,主要进行前端代码文件、依赖包和插件组合及其解压部署,依赖包主要是运行前端框架所需要的NPM源码包,插件主要是存在于前端系统中可独立运行的程序包;
在步骤S202中,当解压部署完成时,对前端代码执行打包、压缩以及混淆动作。
在该步骤中,在进行前端代码的打包、压缩与混淆。编译过程主要分为文件代码的混淆,通用代码的抽离、公共代码的合并等操作。该模块能够加强代码的安全性,提升系统的访问效率。
在本发明实施例中,如图3所示,根据预先配置的容器镜像打包部署前的依赖环境,生成前端容器镜像的步骤具体包括下述步骤:
在步骤S301中,拉取国产机器不同构架下的CPU和操作系统版本下的指定的基础镜像;
在步骤S302中,根据拉取到的基础镜像,将执行完成编译压缩的前端代码拷贝到所述基础镜像目录下。
本发明实施例给开发者、运维及其用户等带来极大便利,开发者只需要一次流程化的构建前端容器镜像就可以兼容不同CPU和操作系统的硬件环境;运维者可以快速的部署不同架构的环境,开发者可以节省硬件成本,同时可以保证生成环境下本身业务的快启动与构建发布。前端产品借助于容器镜像方法及其装置可以得到迅速推广,大大提升了系统的可维护性与稳定性。
图4示出了本发明提供的前端容器镜像的生成系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
前端容器镜像的生成系统包括:
依赖环境配置模块11,用于根据国产机器不同构架下的CPU和操作系统版本,配置容器镜像打包部署前的依赖环境,输出为制定的基础镜像;
打包模块12,用于当容器镜像打包部署前的依赖环境配置完成后,对前端代码进行组合配置,并对配置后的组合进行编译压缩;
构建部署模块13,用于根据预先配置的容器镜像打包部署前的依赖环境,生成前端容器镜像。
其中,结合图4所示,所述打包模块12具体包括:
组装模块14,用于对前端代码文件、依赖包和插件进行组合,并解压部署;
编译模块15,用于当解压部署完成时,对前端代码执行打包、压缩以及混淆动作;
结合图4所示,所述构建部署模块13具体包括:
基础镜像拉取模块16,用于拉取国产机器不同构架下的CPU和操作系统版本下的指定的基础镜像;
拷贝模块17,用于根据拉取到的基础镜像,将执行完成编译压缩的前端代码拷贝到所述基础镜像目录下。
在本发明实施例中,根据国产机器不同构架下的CPU和操作系统版本,配置容器镜像打包部署前的依赖环境,输出为制定的基础镜像;当容器镜像打包部署前的依赖环境配置完成后,对前端代码进行组合配置,并对配置后的组合进行编译压缩;根据预先配置的容器镜像打包部署前的依赖环境,生成前端容器镜像,从而实现对各种国产CPU和操作系统的兼容,提升前端系统的辨识度和推广度。
以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

Claims (8)

1.一种前端容器镜像的生成方法,其特征在于,所述方法包括下述步骤:
根据国产机器不同构架下的CPU和操作系统版本,配置容器镜像打包部署前的依赖环境,输出为制定的基础镜像;
当容器镜像打包部署前的依赖环境配置完成后,对前端代码进行组合配置,并对配置后的组合进行编译压缩;
根据预先配置的容器镜像打包部署前的依赖环境,生成前端容器镜像。
2.根据权利要求1所述的前端容器镜像的生成方法,其特征在于,所述当容器镜像打包部署前的依赖环境配置完成后,对前端代码进行组合配置,并对配置后的组合进行编译压缩的步骤具体包括下述步骤:
对前端代码文件、依赖包和插件进行组合,并解压部署;
当解压部署完成时,对前端代码执行打包、压缩以及混淆动作。
3.根据权利要求2所述的前端容器镜像的生成方法,其特征在于,所述依赖包为前端框架运行所需要的NPM源码包,所述插件是存在于前端框架系统中可独立运行的程序包。
4.根据权利要求2所述的前端容器镜像的生成方法,其特征在于,所述根据预先配置的容器镜像打包部署前的依赖环境,生成前端容器镜像的步骤具体包括下述步骤:
拉取国产机器不同构架下的CPU和操作系统版本下的指定的基础镜像;
根据拉取到的基础镜像,将执行完成编译压缩的前端代码拷贝到所述基础镜像目录下。
5.一种前端容器镜像的生成系统,其特征在于,所述系统包括:
依赖环境配置模块,用于根据国产机器不同构架下的CPU和操作系统版本,配置容器镜像打包部署前的依赖环境,输出为制定的基础镜像;
打包模块,用于当容器镜像打包部署前的依赖环境配置完成后,对前端代码进行组合配置,并对配置后的组合进行编译压缩;
构建部署模块,用于根据预先配置的容器镜像打包部署前的依赖环境,生成前端容器镜像。
6.根据权利要求5所述的前端容器镜像的生成系统,其特征在于,所述打包模块具体包括:
组装模块,用于对前端代码文件、依赖包和插件进行组合,并解压部署;
编译模块,用于当解压部署完成时,对前端代码执行打包、压缩以及混淆动作。
7.根据权利要求6所述的前端容器镜像的生成系统,其特征在于,所述依赖包为前端框架运行所需要的NPM源码包,所述插件是存在于前端框架系统中可独立运行的程序包。
8.根据权利要求6所述的前端容器镜像的生成系统,其特征在于,所述构建部署模块具体包括:
基础镜像拉取模块,用于拉取国产机器不同构架下的CPU和操作系统版本下的指定的基础镜像;
拷贝模块,用于根据拉取到的基础镜像,将执行完成编译压缩的前端代码拷贝到所述基础镜像目录下。
CN202010603504.8A 2020-06-29 2020-06-29 一种前端容器镜像的生成方法及系统 Withdrawn CN111880894A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010603504.8A CN111880894A (zh) 2020-06-29 2020-06-29 一种前端容器镜像的生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010603504.8A CN111880894A (zh) 2020-06-29 2020-06-29 一种前端容器镜像的生成方法及系统

Publications (1)

Publication Number Publication Date
CN111880894A true CN111880894A (zh) 2020-11-03

Family

ID=73157207

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010603504.8A Withdrawn CN111880894A (zh) 2020-06-29 2020-06-29 一种前端容器镜像的生成方法及系统

Country Status (1)

Country Link
CN (1) CN111880894A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112379924A (zh) * 2020-11-04 2021-02-19 福建亿榕信息技术有限公司 一种基于容器模板的国产应用跨系统迁移方法
CN114625438A (zh) * 2022-03-04 2022-06-14 中国—东盟信息港股份有限公司 一种前端应用容器化的本地模块加载方法
CN115599398A (zh) * 2022-11-28 2023-01-13 中国电子科技集团公司第十五研究所(Cn) 一种基于容器的镜像分离整合及加载方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112379924A (zh) * 2020-11-04 2021-02-19 福建亿榕信息技术有限公司 一种基于容器模板的国产应用跨系统迁移方法
CN112379924B (zh) * 2020-11-04 2023-03-07 福建亿榕信息技术有限公司 一种基于容器模板的国产应用跨系统迁移方法
CN114625438A (zh) * 2022-03-04 2022-06-14 中国—东盟信息港股份有限公司 一种前端应用容器化的本地模块加载方法
CN115599398A (zh) * 2022-11-28 2023-01-13 中国电子科技集团公司第十五研究所(Cn) 一种基于容器的镜像分离整合及加载方法
CN115599398B (zh) * 2022-11-28 2023-06-06 中国电子科技集团公司第十五研究所 一种基于容器的镜像分离整合及加载方法

Similar Documents

Publication Publication Date Title
US10296323B2 (en) System and method for fast initial and incremental deployment of apps
CN111880894A (zh) 一种前端容器镜像的生成方法及系统
CN110134378B (zh) 应用程序创建方法及装置、计算机设备及存储介质
CN111367510B (zh) 一种安卓功能模块开发的方法及装置
CN111399865A (zh) 一种基于容器技术自动构建目标文件的方法
US8418169B2 (en) Management method for managing software module and information processor
CN107193544B (zh) 一种应用程序组件化开发方法及装置
CN110059456B (zh) 代码保护方法、代码保护装置、存储介质与电子设备
US10380329B2 (en) Method and apparatus for preventing application from being deciphered
CN111832014B (zh) 基于动态加载的Java SDK代码加解密方法及终端
US20140359588A1 (en) Systems and methods for remote analysis of software applications
CN112433747B (zh) 一种适用于软件开发工具包sdk的差分升级方法及系统
US10866803B2 (en) Generating interaction libraries
JP2018522296A (ja) 仮想マシン作成方法及び装置
CN110647470A (zh) 测试方法和制作方法、装置、介质以及电子设备
KR20110130611A (ko) 이기종 운영체제 계층 모듈에서 동작하는 웹기반어플리케이션의 연동이 가능한 모바일 단말기용 웹 플랫폼 유닛
CN113741954A (zh) 系统软件生成方法、装置、电子设备及存储介质
CN114546581A (zh) 一种无服务容器启动方法及相关设备
CN105335432A (zh) oracle数据库访问方法
CN106778270B (zh) 一种恶意应用程序的检测方法及系统
CN115857999A (zh) 基于vue的系统架构改造获得微前端系统架构的方法及系统
CN115509545A (zh) 一种ios应用的打包构建方法及装置
CN101840337B (zh) 一种适用于捕包应用的裁减系统定制方法
CN115390846A (zh) 编译构建方法、装置、电子设备和存储介质
CN111752548A (zh) 一种sdk嵌入方法及装置、计算机可读存储介质

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20201103