CN116185445A - 一种基于pipeline的自动化部署方法及装置 - Google Patents
一种基于pipeline的自动化部署方法及装置 Download PDFInfo
- Publication number
- CN116185445A CN116185445A CN202211726785.1A CN202211726785A CN116185445A CN 116185445 A CN116185445 A CN 116185445A CN 202211726785 A CN202211726785 A CN 202211726785A CN 116185445 A CN116185445 A CN 116185445A
- Authority
- CN
- China
- Prior art keywords
- service
- target
- script
- deployment
- package
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于pipeline的自动化部署方法及装置,该方法包括:从代码仓库中获取所需部署的服务程序对应的目标代码,根据预编写的脚本处理目标代码,生成服务部署包,根据预编写的脚本处理服务部署包,生成目标镜像并推送目标镜像,根据预编写的脚本以及TSF平台的API对推送后的目标镜像进行滚动更新,生成目标发布包,目标发布包包括迭代更新后的服务程序。实施本发明能够根据预编写的脚本处理服务程序对应所需更新的目标代码,生成目标镜像,并调用TSF的API接口对该镜像滚动更新,得到目标发布包,有利于提高对服务程序的部署效率以及降低部署成本。
Description
技术领域
本发明涉及软件数据管理技术领域,尤其涉及一种基于pipeline的自动化部署方法及装置。
背景技术
现时的大型系统往往存在着成百上千的服务程序,而面对成百上千需要快速交付的服务,每个服务从开发阶段到最终部署,需要对每个服务做个性化的处理以满足实际业务场景。然而,现时项目交付一般采用常规CI/CD工具+手动的部署方式,这种方式在服务项目的部署过程中存在部署效率低下、自动化不足题。现时本发明提供了一种基于pipeline的自动化部署方法及装置,使服务项目的部署方式自动化,以解决现有技术中服务程序的部署效率低以及部署成本高的问题。
发明内容
本发明所要解决的技术问题在于,提供一种基于pipeline的自动化部署方法及装置,能够有效地对服务程序的部署效率以及通信效率。
为了解决上述技术问题,本发明第一方面公开了一种基于pipeline的自动化部署方法,应用于pipeline框架,所述方法包括:
从代码仓库中获取所需部署的服务程序对应的目标代码;
根据预编写的脚本处理所述目标代码,生成服务部署包;
根据所述预编写的脚本处理所述服务部署包,生成目标镜像并推送所述目标镜像;
根据所述预编写的脚本以及TSF平台的API对推送后的所述目标镜像进行滚动更新,生成目标发布包,所述目标发布包包括迭代更新后的服务程序。
一种可选的实施方式,在本发明第一方面中,所述pipeline为一种工作流程框架,所述预编写的脚本为在所述pipeline环境下调用的shell语言编写的脚本,所述预编写的脚本包括多个子脚本;
所述获取代码仓库中所需部署的服务对应的目标代码,包括:
根据预编写的脚本下载所需部署的服务对应的目标代码;
根据JENKINS的SCM插件获取所述目标代码;
其中,所述JENKINS为一种持续集成工具。
作为一种可选的实施方式,在本发明第一方面中,根据预编写的脚本处理所述目标代码,生成服务部署包,包括:
根据预编写的脚本解析所述目标代码中的预设的第一配置文件,得到所需迭代更新的服务模块;
根据所述预编写的脚本编译所述服务模块对应的代码,得到更新后的服务模块;
根据所述预编写的脚本以及所述服务程序的服务标识修改所述更新后的服务模块对应的第二配置文件;
基于当前所述服务程序的部署包、所述第二配置文件、所述更新后的服务模块进行整合,生成更新后的服务部署包;
其中,所述第二配置文件包括:数据库配置文件、consul地址文件中的至少一种;
在所述根据所述预编写的脚本以及所述服务程序的服务标识修改所述更新后的服务模块对应的第二配置文件之后,所述方法还包括:
解析所需迭代更新的服务脚本对应的第三配置文件,并根据所述第三配置文件查找到所述服务脚本的位置;
下载所述服务脚本并根据第三配置文件更新所述服务脚本;
其中,所述服务脚本包括SQL语句脚本。
作为一种可选的实施方式,在本发明第一方面中,所述根据所述预编写的脚本处理所述服务部署包,生成目标镜像并推送所述目标镜像,包括:
根据所述预编写的脚本以及所述服务程序的服务标识处理所述服务部署包,生成目标镜像并推送所述镜像至TSF平台的API;
所述根据所述预编写的脚本以及TSF平台的API对推送后的所述目标镜像进行滚动更新,生成目标发布包,包括:
根据所述预编写的脚本以及所述服务程序的服务标识调用TSF平台提供的API接口;
通过所述API接口中的CURL命令以及API参数对推送后的所述目标镜像进行滚动更新;
其中,所述TSF平台为第三方微服务平台;
所述方法还包括:
根据所述预编写的脚本在版本备份仓存储所述目标发布包。
作为一种可选的实施方式,在本发明第一方面中,在所述根据所述预编写的脚本在版本备份仓存储所述目标发布包之后,所述方法还包括:
判断所述目标发布包的版本是否需要回滚;
当判断到所述目标发布包需要回滚时,通过JENKINS提供的string param获取所述目标发布包对应的回滚版本;
根据所述回滚版本选择所需要回滚的服务模块;
根据所述预编写的脚本读取JENKINS的版本,并根据所述JENKINS的版本以及所述所需要回滚的服务模块对所述目标发布包进行更新,生成更新后的目标发布包;
根据所述预编写的脚本处理所述更新后的目标发布包,生成第二目标镜像并推送所述第二目标镜像。
作为一种可选的实施方式,在本发明第一方面中,在所述获取代码仓库中所需部署的服务程序对应的目标代码之前,所述方法还包括:
判断服务程序是否需要回滚版本;
当判断出所述服务程序需要回滚版本时,从所述版本备份仓中查找对应所需的回滚版本备份,并根据所述回滚版本备份的代码重新生成所述服务程序对应版本的发布包;
当判断出所述服务程序不需要回滚版本时,重新执行所述从代码仓库中获取所需部署的服务程序对应的目标代码的操作。
作为一种可选的实施方式,在本发明第一方面中,在所述根据预编写的脚本以及所述服务程序的服务标识修改所述更新后的服务模块对应的第二配置文件之后,所述方法还包括:
根据所述预编写的脚本解析所述目标代码中的预设的第一配置文件,得到所需迭代更新的服务脚本;
根据所述预编写的脚本更新所述服务脚本对应的代码,得到更新后的服务脚本。
本发明第二方面公开了一种基于pipeline的自动化部署装置,所述装置包括:
获取模块,用于从代码仓库中获取所需部署的服务程序对应的目标代码;
处理模块,用于根据预编写的脚本处理所述获取模块获取到的所述目标代码,生成服务部署包;
所述处理模块,还用于根据所述预编写的脚本处理所述服务部署包,生成目标镜像并推送所述目标镜像;
更新模块,用于根据所述预编写的脚本以及TSF平台的API对所述处理模块推送后的所述目标镜像进行滚动更新,生成目标发布包,所述目标发布包包括迭代更新后的服务程序。
作为一种可选的实施方式,在本发明第二方面中,所述pipeline为一种工作流程框架,所述预编写的脚本为在所述pipeline环境下调用的shell语言编写的脚本,所述预编写的脚本包括多个子脚本;
所述获取模块获取代码仓库中所需部署的服务对应的目标代码的具体方式为:
根据预编写的脚本下载所需部署的服务对应的目标代码;
根据JENKINS的SCM插件获取所述目标代码;
其中,所述JENKINS为一种持续集成工具。
作为一种可选的实施方式,在本发明第二方面中,所述处理模块根据预编写的脚本处理所述目标代码,生成服务部署包的具体方式为:
根据预编写的脚本解析所述目标代码中的预设的第一配置文件,得到所需迭代更新的服务模块;
根据所述预编写的脚本编译所述服务模块对应的代码,得到更新后的服务模块;
根据所述预编写的脚本以及所述服务程序的服务标识修改所述更新后的服务模块对应的第二配置文件;
基于当前所述服务程序的部署包、所述第二配置文件、所述更新后的服务模块进行整合,生成更新后的服务部署包;
其中,所述第二配置文件包括:数据库配置文件、consul地址文件中的至少一种;
在所述处理模块根据所述预编写的脚本以及所述服务程序的服务标识修改所述更新后的服务模块对应的第二配置文件之后,所述装置还包括:
解析模块,用于解析所需迭代更新的服务脚本对应的第三配置文件;
第一查找模块,用于根据所述解析模块解析得到的第三配置文件查找到所述服务脚本的位置;
所述更新模块,还用于下载所述查找模块查找的所述服务脚本并根据所述解析模块解析得到的第三配置文件更新所述服务脚本;
其中,所述服务脚本包括SQL语句脚本。
作为一种可选的实施方式,在本发明第二方面中,所述处理模块根据所述预编写的脚本处理所述服务部署包,生成目标镜像并推送所述目标镜像的具体方式为:
根据所述预编写的脚本以及所述服务程序的服务标识处理所述服务部署包,生成目标镜像并推送所述镜像至TSF平台的API;
所述更新模块根据所述预编写的脚本以及TSF平台的API对推送后的所述目标镜像进行滚动更新,生成目标发布包的具体方式为:
根据所述预编写的脚本以及所述服务程序的服务标识调用TSF平台提供的API接口;
通过所述API接口中的CURL命令以及API参数对推送后的所述目标镜像进行滚动更新;
其中,所述TSF平台为第三方微服务平台。
所述装置还包括:
存储模块,用于根据所述预编写的脚本在版本备份仓存储所述更新模块更新得到的所述目标发布包。
作为一种可选的实施方式,在本发明第二方面中,在所述存储模块根据所述预编写的脚本在版本备份仓存储所述目标发布包之后,所述装置还包括:
第一判断模块,用于判断所述存储模块存储的所述目标发布包的版本是否需要回滚;
所述获取模块,还用于当所述第一判断模块判断到所述目标发布包需要回滚时,通过JENKINS提供的string param获取所述目标发布包对应的回滚版本;
选择模块,用于根据所述获取模块获取到的所述回滚版本选择所需要回滚的服务模块;
所述更新模块,还用于根据所述预编写的脚本读取JENKINS的版本,并根据所述JENKINS的版本以及所述选择模块选择的所需要回滚的服务模块对所述目标发布包进行更新,生成更新后的目标发布包;
所述处理模块,还用于根据所述预编写的脚本处理所述更新模块更新得到的所述更新后的目标发布包,生成第二目标镜像并推送所述第二目标镜像。
作为一种可选的实施方式,在本发明第二方面中,在所述获取模块获取代码仓库中所需部署的服务程序对应的目标代码之前,所述装置还包括:
第二判断模块,用于判断服务程序是否需要回滚版本,当判断出所述服务程序不需要回滚版本时,重新触发所述获取模块执行所述从代码仓库中获取所需部署的服务程序对应的目标代码的操作;
第二查找模块,用于当所述第二判断模块判断出所述服务程序需要回滚版本时,从所述版本备份仓中查找对应所需的回滚版本备份;
生成模块,用于根据所述第二查找模块查找的所述回滚版本备份的代码重新生成所述服务程序对应版本的发布包。
作为一种可选的实施方式,在本发明第二方面中,在所述处理模块根据预编写的脚本以及所述服务程序的服务标识修改所述更新后的服务模块对应的第二配置文件之后,所述装置还包括:
所述解析模块,还用于根据所述预编写的脚本解析所述目标代码中的预设的第一配置文件,得到所需迭代更新的服务脚本;
所述更新模块,还用于根据所述预编写的脚本更新所述解析模块解析得到的所述服务脚本对应的代码,得到更新后的服务脚本。
本发明第三方面公开了另一种基于pipeline的自动化部署装置,所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的基于pipeline的自动化部署方法中部分或全部的步骤。
本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的基于pipeline的自动化部署方法中部分或全部的步骤。
与现有技术相比,本发明实施例具有以下有益效果:提供了一种基于pipeline的自动化部署方法及装置,该基于pipeline的自动化部署方法包括:从代码仓库中获取所需部署的服务程序对应的目标代码,根据预编写的脚本处理目标代码,生成服务部署包,根据预编写的脚本处理服务部署包,生成目标镜像并推送目标镜像,根据预编写的脚本以及TSF平台的API对推送后的目标镜像进行滚动更新,生成目标发布包,目标发布包包括迭代更新后的服务程序。实施本发明能够通过代码仓库中获取所需部署的服务程序对应的目标代码,以便快速地获取到最新的服务程序的运行代码,有利于提高对服务程序的部署效率以及降低部署成本;根据预编写的脚本处理目标代码,生成服务部署包,根据预编写的脚本处理服务部署包,生成目标镜像并推送目标镜像,提高了服务程序的部署自动化程度,有利于提高对服务程序的部署效率以及降低部署成本;根据预编写的脚本以及TSF平台的API对推送后的目标镜像进行滚动更新,生成目标发布包,目标发布包包括迭代更新后的服务程序,以便采用第三方的API转移计算资源的消耗,减少了部署的处理资源的占用率,从而有利于提高对服务程序的部署效率以及降低部署成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种基于pipeline的自动化部署方法的流程示意图;
图2是本发明实施例公开的另一种基于pipeline的自动化部署方法的流程示意图;
图3是本发明实施例公开的一种基于pipeline的自动化部署装置的结构示意图;
图4是本发明实施例公开的另一种基于pipeline的自动化部署装置的结构示意图;
图5是本发明实施例公开的又一种基于pipeline的自动化部署装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区域别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明公开了一种基于pipeline的自动化部署方法及装置,该基于pipeline的自动化部署方法包括:从代码仓库中获取所需部署的服务程序对应的目标代码,根据预编写的脚本处理目标代码,生成服务部署包,根据预编写的脚本处理服务部署包,生成目标镜像并推送目标镜像,根据预编写的脚本以及TSF平台的API对推送后的目标镜像进行滚动更新,生成目标发布包,目标发布包包括迭代更新后的服务程序。实施本发明能够通过代码仓库中获取所需部署的服务程序对应的目标代码,以便快速地获取到最新的服务程序的运行代码,有利于提高对服务程序的部署效率以及降低部署成本;根据预编写的脚本处理目标代码,生成服务部署包,根据预编写的脚本处理服务部署包,生成目标镜像并推送目标镜像,提高了服务程序的部署自动化程度,有利于提高对服务程序的部署效率以及降低部署成本;根据预编写的脚本以及TSF平台的API对推送后的目标镜像进行滚动更新,生成目标发布包,目标发布包包括迭代更新后的服务程序,以便采用第三方的API转移计算资源的消耗,减少了部署的处理资源的占用率,从而有利于提高对服务程序的部署效率以及降低部署成本。以下分别进行详细说明。
实施例一
请参阅图1,图1是本发明实施例公开的一种基于pipeline的自动化部署方法流程示意图。其中,图1所描述的基于pipeline的自动化部署方法可以应用于pipeline框架,且该方法可以应用于基于pipeline的自动化部署装置中,该装置可以应用于本地终端设备或云端设备。其中,本地终端设备可以包括PC终端、本地服务器等中的至少一种,云端设备可以包括云端主机、云端服务器、云虚拟设备等中的至少一种,本发明实施例不做限定。如图1所示,该基于pipeline的自动化部署方法可以包括以下操作:
101、从代码仓库中获取所需部署的服务程序对应的目标代码。
本发明实施例中,可选的,pipeline可以为一种工作流程框架,用于实现持续集成与持续交付。
本发明实施例中,可选的,获取代码仓库中所需部署的服务对应的目标代码,可以包括:
根据预编写的脚本下载所需部署的服务对应的目标代码。
根据JENKINS的SCM插件获取目标代码。
其中,JENKINS为一种持续集成工具,SCM用于通过轮询检测版本控制系统的代码是否有更新,当检测存在更新的话,则触发获取更新后的目标代码的操作。
本发明实施例中,可选的,预编写的脚本可以为在pipeline环境下调用的shell语言编写的脚本,预编写的脚本可以包括多个子脚本。
这样通过JENKINS的SCM插件从代码仓库中获取所需部署的服务程序对应的目标代码,以便快速地获取到最新的服务程序的运行代码,从而有利于提高对服务程序的部署效率以及降低部署成本。
102、根据预编写的脚本处理目标代码,生成服务部署包。
本发明实施例中,可选的,根据预编写的脚本处理目标代码,生成服务部署包,可以包括:
根据预编写的脚本解析目标代码中的预设的第一配置文件,得到所需迭代更新的服务模块。
根据预编写的脚本编译服务模块对应的代码,得到更新后的服务模块。
根据预编写的脚本以及服务程序的服务标识修改更新后的服务模块对应的第二配置文件。
基于当前服务程序的部署包、第二配置文件、更新后的服务模块进行整合,生成更新后的服务部署包。
其中,第一配置文件可以包括所需迭代更新的服务模块所在位置的标识信息、该服务模块的更新时间、该服务模块的更新执行人员信息等中的至少一种信息文件,第二配置文件可以包括:数据库配置文件、consul地址文件等中的至少一种信息文件,服务部署包包括更新后的服务程序对应的逻辑代码、配置文件信息、配置环境信息、版本信息、服务标识信息、加密安全信息等中的至少一种。
本发明实施例中,进一步可选的,根据预编写的脚本编译服务模块对应的代码,得到更新后的服务模块,具体包括:
根据预编写的脚本以增量编译的方式编译服务模块对应的代码,得到增量更新后的服务模块。
这样根据预编写的脚本解析目标代码中的预设的第一配置文件,得到所需迭代更新的服务模块,并根据预编写的脚本对服务模块编译更新以及对配置文件进行修改,最终整合生成服务程序更新后的服务部署包,相比于覆盖版本的迭代部署方式,针对相应所需更新的模块采用增量部署的方式能够有效地提高服务部署的准确率以及自动化程度;且服务部署包内包含的信息越详细,越有利于从而提高对服务程序的部署效率以及降低部署成本。
103、根据预编写的脚本处理服务部署包,生成目标镜像并推送目标镜像。
本发明实施例中,可选的,根据预编写的脚本处理服务部署包,生成目标镜像并推送目标镜像,可以包括:
根据预编写的脚本以及服务程序的服务标识处理服务部署包,生成目标镜像并推送目标镜像至TSF平台的API。这样根据服务标识处理服务部署包得到该服务部署包的镜像,提高了服务部署包的传输与存储,从而有利于提高对服务程序的部署效率以及降低部署成本。
104、根据预编写的脚本以及TSF平台的API对推送后的目标镜像进行滚动更新,生成目标发布包。
本实施例中,可选的,目标发布包可以包括迭代更新后的服务程序。
本发明实施例中,可选的,根据预编写的脚本以及TSF平台的API对推送后的目标镜像进行滚动更新,生成目标发布包,可以包括:
根据预编写的脚本以及服务程序的服务标识调用TSF平台提供的API接口。
通过API接口中的CURL命令以及API参数对推送后的目标镜像进行滚动更新。
其中,TSF平台可以为TECENT的微服务平台,其API接口用于对目标镜像进行微服务化配置。
CURL命令表示为一种利用URL规则在命令行下工作的文件传输工具,用于发送GET、POST等网络请求。
根据预编写的脚本以及TSF平台的API对推送后的目标镜像进行滚动更新,生成目标发布包,能够充分利用第三方平台的微服务资源,有利于转移所需消耗的计算资源,减少处理资源的占用率,提高了服务部署的速度与性能,从而有利于提高对服务程序的部署效率以及降低部署成本。
在一个可选的实施例中,在根据预编写的脚本以及服务程序的服务标识修改更新后的服务模块对应的第二配置文件之后,该方法还可以包括以下操作:
解析所需迭代更新的服务脚本对应的第三配置文件,并根据第三配置文件查找到服务脚本的位置。
下载服务脚本并根据第三配置文件更新服务脚本。
其中,服务脚本可以包括SQL语句脚本。
可见,该可选的实施例能够通过所需更新的服务脚本对应的第三配置文件更新服务程序中对应的服务脚本,避免了服务脚本的重复覆盖产生的冗余,有利于提高对服务程序的部署效率以及降低部署成本。
在另一个可选的实施例中,执行步骤104之后,该方法还包括以下操作:
根据预编写的脚本在版本备份仓存储目标发布包。
可见,本实施例能够在发布包生成之后,根据预编写的脚本在版本备份仓存储目标发布包,以便在需要变更服务程序版本时从该备份仓快捷地选取对应的程序版本进行重新部署,从而有利于提高对服务程序的部署效率以及降低部署成本。
在该可选的实施例中,根据预编写的脚本在版本备份仓存储目标发布包之后,该方法还可以包括以下操作。
判断目标发布包的版本是否需要回滚。
当判断到目标发布包需要回滚时,通过JENKINS提供的string param获取目标发布包对应的回滚版本。
根据回滚版本选择所需要回滚的服务模块。
根据预编写的脚本读取JENKINS的版本,并根据JENKINS的版本以及所需要回滚的服务模块对目标发布包进行更新,生成更新后的目标发布包。
根据预编写的脚本处理更新后的目标发布包,生成第二目标镜像并推送第二目标镜像。
其中,string param可以表示为字符串参数,用于请求获取目标发布包对应的回滚版本。
可见,该可选的实施例能够在目标发布包存储于版本备份仓之后,在检测到因误操作等原因需要回滚服务版本时,根据所需回滚的服务版本对发布包对应的服务模块进行回滚更新并重新生成新的镜像,减少了版本迭代的误操作带来的成本损失,从而有利于提高对服务程序的部署效率以及降低部署成本。
在又一个可选的实施例中,根据预编写的脚本以及服务程序的服务标识修改更新后的服务模块对应的第二配置文件之后,该方法还可以包括以下操作:
根据预编写的脚本解析目标代码中预设的第一配置文件,得到所需迭代更新的服务脚本。
根据预编写的脚本更新服务脚本对应的代码,得到更新后的服务脚本。
可见,该可选的实施例能够通过目标代码中的预设的第一配置文件更新服务程序中所需迭代更新的服务脚本,避免了服务脚本的重复覆盖产生的冗余,有利于提高对服务程序的部署效率以及降低部署成本。
实施例二
请参阅图2,图2是本发明实施例公开的一种基于pipeline的自动化部署方法流程示意图。其中,图1所描述的基于pipeline的自动化部署方法可以应用于pipeline框架,且该方法可以应用于基于pipeline的自动化部署装置中,该装置可以应用于本地终端设备或移动终端设备。其中,本地终端设备可以包括PC终端、本地服务器等中的至少一种,云端设备可以包括云端主机、云端服务器、云虚拟设备等中的至少一种,本发明实施例不做限定。如图2所示,该基于pipeline的自动化部署方法可以包括以下操作:
201、判断服务程序是否需要回滚版本,当判断出服务程序需要回滚版本时,可以执行步骤202,当判断出服务程序不需要回滚版本时,执行步骤203。
202、从版本备份仓中查找对应所需的回滚版本备份,并根据回滚版本备份的代码重新生成服务程序对应版本的发布包。
203、从代码仓库中获取所需部署的服务程序对应的目标代码。
204、根据预编写的脚本处理目标代码,生成服务部署包。
205、根据预编写的脚本处理服务部署包,生成目标镜像并推送目标镜像。
206、根据预编写的脚本以及TSF平台的API对推送后的目标镜像进行滚动更新,生成目标发布包。
本发明实施例中,需要说明的是,针对步骤203-206的相关描述,请参阅实施例一中针对步骤101-104,本发明实施例不再赘述。
可见,本发明实施例还能够在代码仓库中获取所需部署的服务程序对应的目标代码,并根据预编写的脚本处理目标代码生成发布包之前,检测是否需要根据相应的版本需求对服务程序的服务版本进行回滚更新,当检测到存在需求时,根据所需回滚的服务版本对发布包对应所需更新的逻辑代码进行回滚更新并重新生成发布包,减少了重新进行版本迭代的部署操作,从而有利于提高对服务程序的部署效率以及降低部署成本。
可见,实施图2所描述的方法能够通过代码仓库中获取所需部署的服务程序对应的目标代码,以便快速地获取到最新的服务程序的运行代码,有利于提高对服务程序的部署效率以及降低部署成本;根据预编写的脚本处理目标代码,生成服务部署包,根据预编写的脚本处理服务部署包,生成目标镜像并推送目标镜像,提高了服务程序的部署自动化程度,有利于提高对服务程序的部署效率以及降低部署成本;根据预编写的脚本以及TSF平台的API对推送后的目标镜像进行滚动更新,生成目标发布包,目标发布包包括迭代更新后的服务程序,以便采用第三方的API转移计算资源的消耗,减少了部署的处理资源的占用率,从而有利于提高对服务程序的部署效率以及降低部署成本;还能够在代码仓库中获取所需部署的服务程序对应的目标代码之前,检测是否需要根据相应的版本需求对服务程序的服务版本进行回滚更新,当检测到存在需求时,根据所需回滚的服务版本对发布包对应所需更新的逻辑代码进行回滚更新并重新生成发布包,减少了重新进行版本迭代的部署操作,进一步有利于提高对服务程序的部署效率以及降低部署成本。
实施例三
请参阅图3,图3是本发明实施例公开的一种基于pipeline的自动化部署装置的结构示意图。其中,图3所描述的基于pipeline的自动化部署装置应用于pipeline框架,且该装置可以执行上述基于pipeline的自动化部署方法,该装置可以应用于本地终端设备或移动终端设备。其中,本地终端设备可以包括PC终端、本地服务器等中的至少一种,云端设备可以包括云端主机、云端服务器、云虚拟设备等中的至少一种,本发明实施例不做限定。如图3所示,该装置可以包括:获取模块301、处理模块302、更新模块303,其中:
获取模块301,用于从代码仓库中获取所需部署的服务程序对应的目标代码。
处理模块302,用于根据预编写的脚本处理获取模块获取到的目标代码,生成服务部署包。
处理模块302,还用于根据预编写的脚本处理服务部署包,生成目标镜像并推送目标镜像。
更新模块303,用于根据预编写的脚本以及TSF平台的API对处理模块推送后的目标镜像进行滚动更新,生成目标发布包,目标发布包包括迭代更新后的服务程序。
可见,实施图3所描述的基于pipeline的自动化部署装置能够通过代码仓库中获取所需部署的服务程序对应的目标代码,以便快速地获取到最新的服务程序的运行代码,有利于提高对服务程序的部署效率以及降低部署成本;根据预编写的脚本处理目标代码,生成服务部署包,根据预编写的脚本处理服务部署包,生成目标镜像并推送目标镜像,提高了服务程序的部署自动化程度,有利于提高对服务程序的部署效率以及降低部署成本;根据预编写的脚本以及TSF平台的API对推送后的目标镜像进行滚动更新,生成目标发布包,目标发布包包括迭代更新后的服务程序,以便采用第三方的API转移计算资源的消耗,减少了部署的处理资源的占用率,从而有利于提高对服务程序的部署效率以及降低部署成本。
在一个可选的实施例中,pipeline为一种工作流程框架,预编写的脚本为在pipeline框架下调用的shell语言编写的脚本,预编写的脚本包括多个子脚本。
以及,如图4所示,获取模块301获取代码仓库中所需部署的服务对应的目标代码的具体方式为:
根据预编写的脚本下载所需部署的服务对应的目标代码。
根据JENKINS的SCM插件获取目标代码。
其中,JENKINS为一种持续集成工具。
可见,实施图4所描述的基于pipeline的自动化部署装置通过shell语言预编写的脚本以及JENKINS的SCM插件从代码仓库中获取所需部署的服务程序对应的目标代码,以便快速地获取到最新的服务程序的运行代码,从而有利于提高对服务程序的部署效率以及降低部署成本。
在另一个可选的实施例中,处理模块302根据预编写的脚本处理目标代码,生成服务部署包的具体方式为:
根据预编写的脚本解析目标代码中的预设的第一配置文件,得到所需迭代更新的服务模块。
根据预编写的脚本编译服务模块对应的代码,得到更新后的服务模块。
根据预编写的脚本以及服务程序的服务标识修改更新后的服务模块对应的第二配置文件。
基于当前服务程序的部署包、第二配置文件、更新后的服务模块进行整合,生成更新后的服务部署包。
其中,第二配置文件包括:数据库配置文件、consul地址文件中的至少一种。
在处理模块302根据预编写的脚本以及服务程序的服务标识修改更新后的服务模块对应的第二配置文件之后,该装置还包括:
解析模块304,用于解析所需迭代更新的服务脚本对应的第三配置文件。
第一查找模块305,用于根据解析模块304解析得到的第三配置文件查找到服务脚本的位置。
更新模块303,还用于下载第一查找模块305查找的服务脚本并根据解析模块解析得到的第三配置文件更新服务脚本。
其中,服务脚本包括SQL语句脚本。
可见,实施图4所描述的基于pipeline的自动化部署装置根据预编写的脚本解析目标代码中的预设的第一配置文件,得到所需迭代更新的服务模块,并根据预编写的脚本对服务模块编译更新以及对配置文件进行修改,最终整合生成服务程序更新后的服务部署包,相比于覆盖版本的迭代部署方式,针对相应所需更新的模块采用增量部署的方式能够有效地提高服务部署的准确率以及自动化程度;通过所需更新的服务脚本对应的第三配置文件更新服务程序中对应的服务脚本,避免了服务脚本的重复覆盖产生的冗余,从而有利于提高对服务程序的部署效率以及降低部署成本。
在又一个可选的实施例中,如图4所示,处理模块302根据预编写的脚本处理服务部署包,生成目标镜像并推送目标镜像的具体方式为:
根据预编写的脚本以及服务程序的服务标识处理服务部署包,生成目标镜像并推送镜像至TSF平台的API。
更新模块303根据预编写的脚本以及TSF平台的API对推送后的目标镜像进行滚动更新,生成目标发布包的具体方式为:
根据预编写的脚本以及服务程序的服务标识调用TSF平台提供的API接口。
通过API接口中的CURL命令以及API参数对推送后的目标镜像进行滚动更新。
其中,TSF平台为第三方微服务平台。
该装置还包括:
存储模块306,用于根据预编写的脚本在版本备份仓存储更新模块303更新得到的目标发布包。
可见,实施图4所描述的基于pipeline的自动化部署装置根据服务标识处理服务部署包得到该服务部署包的镜像,提高了服务部署包的传输与存储,有利于提高对服务程序的部署效率以及降低部署成本;根据预编写的脚本以及TSF平台的API对推送后的目标镜像进行滚动更新,生成目标发布包,能够充分利用第三方平台的微服务资源,有利于转移所需消耗的计算资源,减少处理资源的占用率,提高了服务部署的速度与性能,从而有利于提高对服务程序的部署效率以及降低部署成本。
在又一个可选的实施例中,如图4所示,在存储模块306根据预编写的脚本在版本备份仓存储目标发布包之后,该装置还包括:
第一判断模块307,用于判断存储模块306存储的目标发布包的版本是否需要回滚。
获取模块301,还用于当第一判断模块307判断到目标发布包需要回滚时,通过JENKINS提供的string param获取目标发布包对应的回滚版本。
选择模块308,用于根据获取模块301获取到的回滚版本选择所需要回滚的服务模块。
更新模块303,还用于根据预编写的脚本读取JENKINS的版本,并根据JENKINS的版本以及选择模块308选择的所需要回滚的服务模块对目标发布包进行更新,生成更新后的目标发布包。
处理模块302,还用于根据预编写的脚本处理更新模块303更新得到的更新后的目标发布包,生成第二目标镜像并推送第二目标镜像。
可见,实施图4所描述的基于pipeline的自动化部署装置在目标发布包存储于版本备份仓之后,能够在检测到因误操作等原因需要回滚服务版本时,根据所需回滚的服务版本对发布包对应的服务模块进行回滚更新并重新生成新的镜像,减少了版本迭代的误操作带来的成本损失,从而有利于提高对服务程序的部署效率以及降低部署成本。
在又一个可选的实施例中,如图4所示,在获取模块301获取代码仓库中所需部署的服务程序对应的目标代码之前,该装置还包括:
第二判断模块309,用于判断服务程序是否需要回滚版本,当判断出服务程序不需要回滚版本时,重新触发获取模块301执行从代码仓库中获取所需部署的服务程序对应的目标代码的操作。
第二查找模块310,用于当第二判断模块309判断出服务程序需要回滚版本时,从版本备份仓中查找对应所需的回滚版本备份。
生成模块311,用于根据第二查找模块310查找的回滚版本备份的代码重新生成服务程序对应版本的发布包。
可见,实施图4所描述的基于pipeline的自动化部署装置通过目标代码中的预设的第一配置文件更新服务程序中所需迭代更新的服务脚本,避免了服务脚本的重复覆盖产生的冗余,从而有利于提高对服务程序的部署效率以及降低部署成本。
在又一个可选的实施例中,如图4所示,在处理模块302根据预编写的脚本以及服务程序的服务标识修改更新后的服务模块对应的第二配置文件之后,该装置还包括:
解析模块304,还用于根据预编写的脚本解析目标代码中的预设的第一配置文件,得到所需迭代更新的服务脚本。
更新模块303,还用于根据预编写的脚本更新解析模块解析得到的所服务脚本对应的代码,得到更新后的服务脚本。
可见,实施图4所描述的基于pipeline的自动化部署装置能够在代码仓库中获取所需部署的服务程序对应的目标代码,并根据预编写的脚本处理目标代码生成发布包之前,检测是否需要根据相应的版本需求对服务程序的服务版本进行回滚更新,当检测到存在需求时,根据所需回滚的服务版本对发布包对应所需更新的逻辑代码进行回滚更新并重新生成发布包,减少了重新进行版本迭代的部署操作,从而有利于提高对服务程序的部署效率以及降低部署成本。
实施例四
请参阅图5,图5是本发明实施例公开的一种基于pipeline的自动化部署装置的结构示意图。其中,图5所描述的基于pipeline的自动化部署装置应用于pipeline框架,且该装置可以执行上述基于pipeline的自动化部署方法,该装置可以应用于本地终端设备或移动终端设备。其中,本地终端设备可以包括PC终端、本地服务器等中的至少一种,云端设备可以包括云端主机、云端服务器、云虚拟设备等中的至少一种,本发明实施例不做限定。如图5所示,该装置可以包括:
存储有可执行程序代码的存储器501;
与存储器501耦合的处理器502;
进一步的,还可以包括与处理器502耦合的输入接口503和输出接口504;
其中,处理器502调用存储器501中存储的可执行程序代码,执行本发明实施例一或实施例二所公开的基于pipeline的自动化部署方法中部分或者全部的步骤。
实施例五
本发明实施例公开了一种计算机可存储介质,该计算机可存储介质存储有计算机指令,该计算机指令被调用时,用于执行本发明实施例一或实施例二所公开的基于pipeline的自动化部署方法中部分或者全部的步骤。
以上所描述的装置实施例仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块展示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器,或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种基于pipeline的自动化部署方法及装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
Claims (10)
1.一种基于pipeline的自动化部署方法,应用于pipeline框架,其特征在于,所述方法包括:
从代码仓库中获取所需部署的服务程序对应的目标代码;
根据预编写的脚本处理所述目标代码,生成服务部署包;
根据所述预编写的脚本处理所述服务部署包,生成目标镜像并推送所述目标镜像;
根据所述预编写的脚本以及TSF平台的API对推送后的所述目标镜像进行滚动更新,生成目标发布包,所述目标发布包包括迭代更新后的服务程序。
2.根据权利要求1所述的基于pipeline的自动化部署方法,其特征在于,所述pipeline为一种工作流程框架,所述预编写的脚本为在所述pipeline框架下调用的shell语言编写的脚本,所述预编写的脚本包括多个子脚本;
所述获取代码仓库中所需部署的服务对应的目标代码,包括:
根据预编写的脚本下载所需部署的服务对应的目标代码;
根据JENKINS的SCM插件获取所述目标代码;
其中,所述JENKINS为一种持续集成工具。
3.根据权利要求2所述的基于pipeline的自动化部署方法,其特征在于,所述根据预编写的脚本处理所述目标代码,生成服务部署包,包括:
根据预编写的脚本解析所述目标代码中的预设的第一配置文件,得到所需迭代更新的服务模块;
根据所述预编写的脚本编译所述服务模块对应的代码,得到更新后的服务模块;
根据所述预编写的脚本以及所述服务程序的服务标识修改所述更新后的服务模块对应的第二配置文件;
基于当前所述服务程序的部署包、所述第二配置文件、所述更新后的服务模块进行整合,生成更新后的服务部署包;
其中,所述第二配置文件包括:数据库配置文件、consul地址文件中的至少一种;
在所述根据所述预编写的脚本以及所述服务程序的服务标识修改所述更新后的服务模块对应的第二配置文件之后,所述方法还包括:
解析所需迭代更新的服务脚本对应的第三配置文件,并根据所述第三配置文件查找到所述服务脚本的位置;
下载所述服务脚本并根据第三配置文件更新所述服务脚本;
其中,所述服务脚本包括SQL语句脚本。
4.根据权利要求3的基于pipeline的自动化部署方法,其特征在于,所述根据所述预编写的脚本处理所述服务部署包,生成目标镜像并推送所述目标镜像,包括:
根据所述预编写的脚本以及所述服务程序的服务标识处理所述服务部署包,生成目标镜像并推送所述镜像至TSF平台的API;
所述根据所述预编写的脚本以及TSF平台的API对推送后的所述目标镜像进行滚动更新,生成目标发布包,包括:
根据所述预编写的脚本以及所述服务程序的服务标识调用TSF平台提供的API接口;
通过所述API接口中的CURL命令以及API参数对推送后的所述目标镜像进行滚动更新;
其中,所述TSF平台为第三方微服务平台;
所述方法还包括:
根据所述预编写的脚本在版本备份仓存储所述目标发布包。
5.根据权利要求4所述的基于pipeline的自动化部署方法,其特征在于,在所述根据所述预编写的脚本在版本备份仓存储所述目标发布包之后,所述方法还包括:
判断所述目标发布包的版本是否需要回滚;
当判断到所述目标发布包需要回滚时,通过JENKINS提供的string param获取所述目标发布包对应的回滚版本;
根据所述回滚版本选择所需要回滚的服务模块;
根据所述预编写的脚本读取JENKINS的版本,并根据所述JENKINS的版本以及所述所需要回滚的服务模块对所述目标发布包进行更新,生成更新后的目标发布包;
根据所述预编写的脚本处理所述更新后的目标发布包,生成第二目标镜像并推送所述第二目标镜像。
6.根据权利要求1或5所述述的基于pipeline的自动化部署方法,其特征在于,在所述获取代码仓库中所需部署的服务程序对应的目标代码之前,所述方法还包括:
判断服务程序是否需要回滚版本;
当判断出所述服务程序需要回滚版本时,从所述版本备份仓中查找对应所需的回滚版本备份,并根据所述回滚版本备份的代码重新生成所述服务程序对应版本的发布包;
当判断出所述服务程序不需要回滚版本时,重新执行所述从代码仓库中获取所需部署的服务程序对应的目标代码的操作。
7.根据权利要求3所述的基于pipeline的自动化部署方法,其特征在于,在所述根据预编写的脚本以及所述服务程序的服务标识修改所述更新后的服务模块对应的第二配置文件之后,所述方法还包括:
根据所述预编写的脚本解析所述目标代码中的预设的第一配置文件,得到所需迭代更新的服务脚本;
根据所述预编写的脚本更新所述服务脚本对应的代码,得到更新后的服务脚本。
8.一种基于pipeline的自动化部署装置,其特征在于,所述装置包括:
获取模块,用于从代码仓库中获取所需部署的服务程序对应的目标代码;
处理模块,用于根据预编写的脚本处理所述获取模块获取到的所述目标代码,生成服务部署包;
所述处理模块,还用于根据所述预编写的脚本处理所述服务部署包,生成目标镜像并推送所述目标镜像;
更新模块,用于根据所述预编写的脚本以及TSF平台的API对所述处理模块推送后的所述目标镜像进行滚动更新,生成目标发布包,所述目标发布包包括迭代更新后的服务程序。
9.一种基于pipeline的自动化部署装置,其特征在于,所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1-7任一项所述的基于pipeline的自动化部署方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时用于执行如权利要求1-7任一项所述的基于pipeline的自动化部署方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211726785.1A CN116185445A (zh) | 2022-12-30 | 2022-12-30 | 一种基于pipeline的自动化部署方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211726785.1A CN116185445A (zh) | 2022-12-30 | 2022-12-30 | 一种基于pipeline的自动化部署方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116185445A true CN116185445A (zh) | 2023-05-30 |
Family
ID=86441538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211726785.1A Pending CN116185445A (zh) | 2022-12-30 | 2022-12-30 | 一种基于pipeline的自动化部署方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116185445A (zh) |
-
2022
- 2022-12-30 CN CN202211726785.1A patent/CN116185445A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108876121B (zh) | 工单处理方法、装置、计算机设备和存储介质 | |
CN111209005B (zh) | 程序文件的编译方法、装置和计算机可读存储介质 | |
CN111144839B (zh) | 一种项目构建方法、持续集成系统及终端设备 | |
CN113835713B (zh) | 源码包下载方法、装置、计算机设备和存储介质 | |
CN114115904B (zh) | 信息处理方法、装置、服务器及存储介质 | |
CN111984264B (zh) | 一种静态库的生成方法和装置 | |
CN112559344A (zh) | 远程mock测试方法及系统 | |
CN114443294B (zh) | 大数据服务组件部署方法、系统、终端及存储介质 | |
CN115686606A (zh) | 一种项目依赖树的展示方法、装置、系统及介质 | |
CN116911588A (zh) | 业务流程执行方法、装置、设备及存储介质 | |
CN115329170A (zh) | 网页抓取方法、装置、设备以及存储介质 | |
CN113297081B (zh) | 一种持续集成流水线的执行方法和装置 | |
CN110716804A (zh) | 无用资源的自动删除方法、装置、存储介质及电子设备 | |
CN114003269A (zh) | 组件处理方法、装置、电子设备及存储介质 | |
CN117873553A (zh) | 版本发布方法、装置、设备和介质 | |
CN111352631B (zh) | 一种接口兼容性检测方法及装置 | |
CN117785212A (zh) | 导入依赖包和第三方库裁剪优化方法、装置、介质及设备 | |
CN116185445A (zh) | 一种基于pipeline的自动化部署方法及装置 | |
CN115048082A (zh) | 微前端系统构建方法、装置、服务器及可读存储介质 | |
CN114968271A (zh) | 模型部署方法、装置、电子设备及存储介质 | |
CN111400243B (zh) | 基于流水线服务的研发管理系统以及文件存储方法、装置 | |
CN110221952B (zh) | 业务数据的处理方法及装置、业务数据处理系统 | |
CN114253595A (zh) | 代码仓库管理方法、装置、计算机设备及存储介质 | |
CN114398073B (zh) | 基于rn的应用更新方法及装置 | |
CN118312274A (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 |