Packaging release method and device of technical platform and development system of technical platform

By grouping the engineering of the technology platform and automating dependency version updates, the problem of time-consuming and labor-intensive packaging and deployment under the distributed microservice framework of the bank was solved, thus improving efficiency.

CN116204225BActive Publication Date: 2026-05-01中国邮政储蓄银行股份有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
中国邮政储蓄银行股份有限公司
Filing Date
2023-03-14
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

In the context of a bank's distributed microservice framework, the packaging and deployment of the technology platform is time-consuming and labor-intensive, especially when version dependencies are complex. It requires multiple manual checks and modifications, resulting in low efficiency.

Method used

By grouping the projects built in the technology platform and packaging them sequentially from the bottom layer to the top layer, the system automatically identifies the release version of the packaged project and modifies the dependency version of the project to be packaged to make it consistent with the release version of the parent project, ultimately achieving automated dependency version updates.

Benefits of technology

It enables automated dependency version updates for the technology platform, improves the efficiency of packaging and release, reduces manual intervention, and solves the time-consuming and labor-intensive problems in existing technologies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116204225B_ABST
    Figure CN116204225B_ABST
Patent Text Reader

Abstract

The application provides a packaging release method and device of a technical platform and a development system of the technical platform, and the method comprises the following steps: grouping projects built in the technical platform to obtain a technical platform release, the technical platform release comprises a first level to an Nth level from bottom to top, each level comprises a plurality of projects, and N is greater than or equal to 2; sequentially packaging the first level to the Nth level to obtain a target technical platform release; modifying a dependent version of a to-be-packaged project in an (i+1)th level, so that the modified dependent version is consistent with a first release version corresponding to a parent project of the to-be-packaged project, the first release version is a release version of a packaged project in an ith level obtained through identification, and 1 is less than N; and releasing the target technical platform release, thereby solving the problems that the packaging release method of the technical platform in the prior art is time-consuming and laborious.
Need to check novelty before this filing date? Find Prior Art

Description

Methods and devices for packaging and releasing technology platforms; development systems for technology platforms Technical Field

[0001] This invention relates to the field of technology platform packaging and distribution technology, and more specifically, to a technology platform packaging and distribution method, apparatus, computer-readable storage medium, and technology platform development system. Background Technology

[0002] Currently, within the distributed microservice framework of banks, the technology platform serves as the core framework, providing an infrastructure layer, microservice framework layer, interface layer, implementation layer, technology platform starter layer, independent service layer, and resource layer. However, version dependencies between different groups during self-testing (BETA version), integration testing (RC version), and official release (RELEASE version) are complex, often requiring developers to verify version issues multiple times. Therefore, how to group and package versions effectively and how to resolve dependency version updates become particularly important during the packaging and release process.

[0003] As the foundational framework of the bank's new core system, the technology platform not only provides independent services such as gateways, routing, sequence numbers, and parameter queries, but also offers basic functionalities like infrastructure and microservice frameworks. In past version collaboration, we first released versions sequentially for the infrastructure layer, microservice framework layer, interface layer, and implementation layer. Then, we released a technology platform starter, creating release documentation. Finally, the independent services of the technology platform released their corresponding versions based on the starter. The main problems with this release process are: 1. When releasing integration test versions or official versions, the project management team needs to maintain the latest released version of the current service. Due to the complex dependencies between project layers, it often requires group packaging. After each layer is packaged, the developers of the next layer need to be notified to modify the dependent versions, push to Git, and then package the next layer until all components of the technology platform are released; 2. When releasing self-test versions, developers often need to know the versions the service depends on, which often requires manual confirmation, which is time-consuming and laborious. Summary of the Invention

[0004] The main objective of this application is to provide a method, apparatus, computer-readable storage medium, and development system for packaging and publishing a technology platform, so as to at least solve the problem that the packaging and publishing methods for technology platforms in the prior art are time-consuming and labor-intensive.

[0005] To achieve the above objectives, according to one aspect of this application, a method for packaging and releasing a technology platform is provided, comprising: grouping projects constructed in the technology platform to obtain a technology platform release, wherein the technology platform release is arranged from bottom to top as a first level to an Nth level, each level including multiple projects, N≥2, the bottom level being the level where none of the projects have a parent project, and the top level being the level where none of the projects are the parent project of any other project; sequentially packaging the first level to the Nth level to obtain a target technology platform release, such that when packaging the project to be packaged in the (i+1)th level, the dependency version of the project to be packaged in the (i+1)th level is modified, such that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged, the first release version being the identified release version of the packaged project in the i-th level, and the modified dependency version being obtained by modifying the dependency version of the project to be packaged in the (i+1)th level, 1≤i<N; and releasing the target technology platform release.

[0006] Optionally, packaging the first level to the Nth level sequentially to obtain the target technology platform release includes: packaging all the projects in the first level; an identification step, whereby, after all the projects in the i-th level have been packaged, identifying the release version of the packaged projects in the i-th level to obtain multiple first release versions; a modification step, modifying the dependency version of the project to be packaged so that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged; a packaging step, packaging all the modified projects to be packaged in the (i+1)-th level; and repeating the identification step, the modification step, and the packaging step at least once in sequence until all the projects in all levels have been packaged to obtain the target technology platform release.

[0007] Optionally, after the modification step, the method further includes: updating the project to be packaged in the (i+1)th level to the latest version, and establishing a correspondence between the modified dependency version and the latest version.

[0008] Optionally, the modification step includes: a first determination sub-step, determining a target parent project based on the dependency version of the first target project to be packaged, wherein the target parent project is the parent project of the first target project to be packaged in the i-th level, and the first target project to be packaged is any one of the projects to be packaged in the (i+1)-th level; a second determination sub-step, determining the first release version corresponding to the target parent project as the second release version; a modification sub-step, modifying the dependency version of the first target project to be packaged to the second release version; repeating the first determination sub-step, the second determination sub-step, and the modification sub-step at least once in sequence until the dependency versions of all the first target projects to be packaged have been modified.

[0009] Optionally, after grouping the projects built in the technology platform to obtain a technology platform release, the method further includes: updating the second target project to be packaged to the latest version, wherein the second target project to be packaged is any one of the projects released by the technology platform; modifying the dependency version of the latest version of the second target project to be packaged to obtain a modified dependency version, such that the modified dependency version is consistent with the version of the parent project of the second target project to be packaged; and packaging and releasing the modified second target project to be packaged.

[0010] Optionally, modifying the dependency version of the latest version of the second target project to be packaged to obtain a modified dependency version, such that the modified dependency version is consistent with the version of the parent project of the second target project to be packaged, includes: when the second target project to be packaged is a project of the first level, updating the second target project to be packaged to the latest version, packaging and publishing the latest version of the second target project to be packaged; when the second target project to be packaged is a project of the (i+1)th level, updating the second target project to be packaged to the latest version, and modifying the dependency version of the latest version of the second target project to be packaged, such that the modified dependency version is consistent with the first published version corresponding to the parent project of the second target project to be packaged.

[0011] Optionally, before sequentially packaging the first to the Nth layers to obtain the target technology platform release, the method further includes: calling a polling thread to query the layer status of each layer, the layer status including a layer construction success status and a layer construction failure status, the layer construction success status being the status that all the projects of the layer have been successfully built, the layer construction failure status being the status that any one of the projects of the layer has failed to build; if any layer status is the layer construction failure status, stopping the overall packaging and release process, the stopping of the overall packaging and release process being the process of packaging and releasing the technology platform release as a whole.

[0012] According to another aspect of this application, a packaging and publishing apparatus for a technology platform is provided, comprising: a first processing unit, configured to group projects constructed in the technology platform to obtain a technology platform release, wherein the technology platform release is arranged from bottom to top as a first level to an Nth level, each level including multiple projects, N≥2, the bottom level being the level where none of the projects have a parent project, and the top level being the level where none of the projects are the parent project of any other project; and a second processing unit, configured to sequentially package the first level to the Nth level. The first processing unit obtains the target technology platform release version, and when packaging the project to be packaged in the (i+1)th level, modifies the dependency version of the project to be packaged in the (i+1)th level, so that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged. The first release version is the release version of the packaged project in the i-th level that has been identified, and the modified dependency version is obtained by modifying the dependency version of the project to be packaged in the (i+1)th level, where 1≤i<N; the third processing unit is used to release the target technology platform release version.

[0013] According to another aspect of this application, a computer-readable storage medium is provided, the computer-readable storage medium including a stored program, wherein, when the program is executed, it controls the device on which the computer-readable storage medium is located to perform any of the methods described.

[0014] According to another aspect of this application, a development system for a technology platform is provided, comprising: one or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include methods for performing any one of the methods described.

[0015] Applying the technical solution of this application, the packaging and release method of the above-mentioned technical platform firstly groups the projects built in the technical platform to obtain a technical platform release. The technical platform release is arranged from the bottom layer to the top layer as the first level to the Nth level. Each level includes multiple projects, N≥2. The bottom layer is the level where none of the projects have a parent project, and the top layer is the level where none of the projects are the parent projects of other projects. Then, the first level to the Nth level are packaged sequentially to obtain the target technical platform release. When packaging the project to be packaged in the (i+1)th level, the dependency version of the project to be packaged in the (i+1)th level is modified so that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged. The first release version is the release version of the packaged project in the i-th level that has been identified. The modified dependency version is obtained by modifying the dependency version of the project to be packaged in the (i+1)th level, 1≤i<N. Finally, the target technical platform release is released. This method groups the projects built in the technology platform to obtain the technology platform release, and sequentially packages the first level to the Nth level. By automatically identifying the release version of the packaged project in the i-th level, the first release version is obtained. This allows modification of the dependency version of the project to be packaged in the (i+1)-th level, ensuring that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged. This achieves automatic update of dependency versions and solves the problem of time-consuming and labor-intensive packaging and release methods for technology platforms in the prior art. Attached Figure Description

[0016] Figure 1 shows a hardware structure block diagram of a mobile terminal for a packaging and distribution method of an execution technology platform provided in an embodiment of this application;

[0017] Figure 2 shows a flowchart illustrating a method for packaging and publishing a technology platform according to an embodiment of this application;

[0018] Figure 3 shows a schematic flowchart of the structural layering of a technology platform provided according to an embodiment of this application;

[0019] Figure 4 illustrates a schematic diagram of a project construction scheduling process according to an embodiment of this application;

[0020] Figure 5 illustrates a schematic diagram of an automatic Maven dependency update process according to an embodiment of this application;

[0021] Figure 6 illustrates a schematic flowchart of a single project release according to an embodiment of this application;

[0022] Figure 7 illustrates a flowchart of a batch release scheduling method according to an embodiment of this application;

[0023] Figure 8 shows a structural block diagram of a packaging and distribution apparatus for a technology platform provided according to an embodiment of this application. Detailed Implementation

[0024] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.

[0025] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.

[0026] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate for the embodiments of this application described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0027] For ease of description, the following explains some of the nouns or terms used in the embodiments of this application:

[0028] Components: Each Maven project that can be packaged independently;

[0029] Project: Corresponds to a Maven project, which contains multiple components. A component is a module of the project.

[0030] BETA version, mainly used by developers for self-testing in the development environment;

[0031] RC version is mainly used by testers in the system integration testing room;

[0032] The RELEASE version is the version officially released to the public. Each project version can only release a RELEASE version once.

[0033] As described in the background section, the existing methods for packaging and releasing technology platforms involve time-consuming and labor-intensive manual modification of dependency versions. To address this issue, embodiments of this application provide a method, apparatus, computer-readable storage medium, and development system for packaging and releasing a technology platform.

[0034] The technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention.

[0035] The methods and embodiments provided in this application can be executed in a mobile terminal, computer terminal, or similar computing device. Taking a mobile terminal as an example, FIG1 is a hardware structure block diagram of a mobile terminal for a packaging and distribution method of a technical platform according to an embodiment of the present invention. As shown in FIG1, the mobile terminal may include one or more (only one is shown in FIG1) processors 102 (processors 102 may include, but are not limited to, processing devices such as microprocessors MCUs or programmable logic devices FPGAs) and a memory 104 for storing data. The mobile terminal may also include a transmission device 106 for communication functions and an input / output device 108. Those skilled in the art will understand that the structure shown in FIG1 is only illustrative and does not limit the structure of the mobile terminal. For example, the mobile terminal may also include more or fewer components than shown in FIG1, or have a different configuration than shown in FIG1.

[0036] The memory 104 can be used to store computer programs, such as application software programs and modules, like the computer program corresponding to the device information display method in this embodiment of the invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, thereby implementing the above-described method. The memory 104 may include high-speed random access memory and non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the mobile terminal via a network. Examples of the aforementioned networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. The transmission device 106 is used to receive or send data via a network. Specific examples of the aforementioned networks may include wireless networks provided by the mobile terminal's communication provider. In one example, the transmission device 106 includes a network interface controller (NIC), which can be connected to other network devices via a base station to communicate with the Internet. In one example, the transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0037] This embodiment provides a method for packaging and distributing a technology platform that runs on a mobile terminal, computer terminal, or similar computing device. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Also, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0038] Figure 2 is a flowchart of a packaging and publishing method for a technical platform according to an embodiment of this application. As shown in Figure 2, the method includes the following steps:

[0039] Step S201: Group the projects built in the technology platform to obtain the technology platform release. The technology platform release is divided into the first level to the Nth level from the bottom to the top level. Each level includes multiple projects, N≥2. The bottom level is the level where none of the projects have a parent project. The top level is the level where none of the projects are the parent projects of other projects.

[0040] Specifically, as shown in Figure 3, the projects built in the technology platform are grouped, that is, the product structure matrix is ​​established and snapshots are stored according to the structure of the technology platform. Product version release management is carried out during the product definition process. The snapshot storage of the project build history constitutes the product build history. A media list of the project package is generated. The technology platform release is divided from the bottom to the top, mainly into the infrastructure layer, microservice framework layer, interface layer, implementation layer, technology platform starter layer, independent service layer and resource layer.

[0041] Step S202: Pack the first level to the Nth level sequentially to obtain the target technology platform release. When packaging the project to be packaged in the (i+1)th level, modify the dependency version of the project to be packaged in the (i+1)th level so that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged. The first release version is the release version of the packaged project in the i-th level that has been identified. The modified dependency version is obtained by modifying the dependency version of the project to be packaged in the (i+1)th level, where 1≤i<N.

[0042] Specifically, the first to the Nth level are packaged sequentially to obtain the target technology platform release. After the packaged version of the previous level is finalized, the dependency version of the next level is updated to ensure that the project dependency version of each level is accurate. The target technology platform release includes the release versions of all levels. Batch release supports release for each level of the technology platform or release for the entire technology platform.

[0043] Step S203: Release the aforementioned target technology platform.

[0044] Specifically, the release of the target technology platform includes all levels of release versions. The release of the above-mentioned target technology platform release means that the technology platform as a whole is released.

[0045] In the above-mentioned method for packaging and releasing the technology platform, firstly, the projects built in the technology platform are grouped to obtain a technology platform release. The technology platform release is divided into the first level to the Nth level from the bottom to the top. Each level includes multiple projects, where N≥2. The bottom level is the level where none of the projects have a parent project, and the top level is the level where none of the projects are the parent projects of any other projects. Then, the first level to the Nth level are packaged sequentially to obtain the target technology platform release. When packaging the project to be packaged in the (i+1)th level, the dependency version of the project to be packaged in the (i+1)th level is modified so that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged. The first release version is the release version of the packaged project in the i-th level that has been identified. The modified dependency version is obtained by modifying the dependency version of the project to be packaged in the (i+1)th level, where 1≤i<N. Finally, the target technology platform release is released. This method groups the projects built in the technology platform to obtain the technology platform release, and sequentially packages the first level to the Nth level. By automatically identifying the release version of the packaged project in the i-th level, the first release version is obtained. This allows modification of the dependency version of the project to be packaged in the (i+1)-th level, ensuring that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged. This achieves automatic update of dependency versions and solves the problem of time-consuming and labor-intensive packaging and release methods for technology platforms in the prior art.

[0046] To achieve intelligent replacement of dependent versions, in one optional implementation, step S202 above includes:

[0047] Step S2021: Package all the above-mentioned projects in the first level;

[0048] Step S2022, identification step: when all the above-mentioned projects at the i-th level have been packaged, identify the release version of the packaged projects at the i-th level to obtain multiple first release versions;

[0049] Step S2023, Modification step: Modify the dependency version of the above-mentioned project to be packaged so that the modified dependency version is consistent with the first release version corresponding to the parent project of the above-mentioned project to be packaged.

[0050] Step S2024, Packaging step: Package all the modified projects to be packaged at the (i+1)th level.

[0051] Step S2025: Repeat the above identification step, the above modification step, and the above packaging step at least once in sequence until all the above-mentioned projects at all the above levels are packaged and the above-mentioned target technology platform is released.

[0052] Specifically, as shown in Figure 4, it is determined whether the product build number exists. If it does, all project build tasks are directly obtained. If not, project build tasks are created based on the project versions in the existing product version. Batch build initialization is performed, including initializing the context, filtering out the projects to be built, initializing the timer, starting batch build scheduling, starting the timer, checking and backfilling the build task status through periodic polling, and controlling the build order. This allows all projects to be packaged to be updated to the latest version. Then, packaging begins layer by layer until all the above-mentioned projects at all the above levels are packaged, thus obtaining the target technology platform release.

[0053] To ensure the accuracy of dependent versions in batch releases, in an optional implementation, after the above modification steps, the method further includes:

[0054] Step S301: Update the project to be packaged in the (i+1)th level to the latest version, and establish the correspondence between the modified dependency version and the latest version.

[0055] Specifically, before packaging and releasing, the above-mentioned projects to be packaged need to be updated to the latest version and the dependencies need to be updated to ensure the accuracy of the dependency versions for batch release.

[0056] To ensure that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged, in an optional implementation, step S2023 includes:

[0057] Step S20231, first determination sub-step, determine the target parent project according to the dependency version of the first target project to be packaged, the target parent project is the parent project of the first target project to be packaged in the i-th level, and the first target project to be packaged is any one of the projects to be packaged in the (i+1)-th level.

[0058] Step S20232, the second determination sub-step, determines the first release version corresponding to the above target parent project as the second release version;

[0059] Step S20233: Modify the sub-step by changing the dependency version of the first target project to be packaged to the second release version.

[0060] Step S20234: Repeat the first determination sub-step, the second determination sub-step, and the modification sub-step at least once in sequence until all the dependency versions of the first target project to be packaged have been modified.

[0061] Specifically, as shown in Figure 5, the DevOps pipeline task executes the Maven ecosystem plugin to register the previous version of the POM (the content of the previous version of the project). It then determines whether the POM needs to be automatically replaced. If so, it modifies its own version number, the parent POM version number, and the dependency version number, that is, updates the project to the latest version. It also modifies the parent POM version number and dependency version number of the child projects that depend on this project, obtains the modified dependency version number, analyzes the media dependency information using the Mojo SDK, traverses the dependent projects, that is, finds the child projects that depend on the current project, calls the ecosystem interface Gov to obtain the latest version information, and searches for the latest media entry in the media list based on the two dependency elements, that is, obtains the project ID of the JAR packaged by the project, finds the corresponding project version in the product version by the project ID, and obtains the latest media version, that is, the version of the packaged and released JAR package. If not, or if the modification is completed, it calls back the ecosystem interface Gov to register the media information, that is, register the information of the packaged JAR package of the project, and completes the automatic update of Maven dependencies.

[0062] In an optional implementation, for releasing a single project, after step S201, the method further includes:

[0063] Step S401: Update the second target project to be packaged to the latest version. The second target project to be packaged is any of the above-mentioned projects released by the above-mentioned technology platform.

[0064] Step S402: Modify the dependency version of the second target project to be packaged in the latest version to obtain the modified dependency version, so that the modified dependency version is consistent with the version of the parent project of the second target project to be packaged.

[0065] Step S403: Package and publish the modified second target project to be packaged.

[0066] Specifically, the process of updating the second target project to be packaged to the latest version is shown in Figure 6. The Gov-main thread performs optimistic locking checks to avoid project data conflicts, builds the pipeline by creating a pipeline using a build parameter object, calls the pipeline creation interface via REST, returns the pipeline ID, adds a build history, starts a timed thread to refresh the build history status, and calls back the ecosystem interface for pipeline post-processing tasks. After the build, the second target project to be packaged can be updated to the latest version. After the update, the dependency versions can be modified, and then it can be packaged and released, realizing independent release, that is, releasing a single project. In this process, users only need to care about core parameter information such as project name and branch.

[0067] To ensure the accuracy of the dependent versions, in an optional implementation, step S402 above includes:

[0068] Step S4021: If the second target project to be packaged is the first level project, update the second target project to be packaged to the latest version, package the latest version of the second target project to be packaged, and publish it.

[0069] Step S4022: If the second target project to be packaged is the project at the (i+1)th level, update the second target project to be packaged to the latest version and modify the dependency version of the latest version of the second target project to be packaged so that the modified dependency version is consistent with the first release version corresponding to the parent project of the second target project to be packaged.

[0070] Specifically, the packaging and release of the second target project to be packaged falls into two categories. If the second target project to be packaged is the first-level project, and there is no upper-level project that has already been packaged and released, then the second target project to be packaged only needs to be updated to the latest version before it can be packaged and released directly. If the second target project to be packaged is the (i+1)th-level project, then the latest version of the second target project to be packaged's dependent versions are also required to ensure the accuracy of the dependent versions.

[0071] To ensure the accuracy of dependent versions, in an optional implementation, before step S202 above, the method further includes:

[0072] Step S501: Call the polling thread to query the layer status of each of the above-mentioned levels. The layer status includes the layer construction success status and the layer construction failure status. The layer construction success status is the status in which all of the above-mentioned projects in the above-mentioned level are successfully constructed. The layer construction failure status is the status in which any one of the above-mentioned projects in the above-mentioned level fails to be constructed.

[0073] Step S502: If any of the above-mentioned layered states is in the case of a layered construction failure state, stop the overall packaging and release process. The above-mentioned stop the overall packaging and release process is the process of packaging and releasing the above-mentioned technology platform release as a whole.

[0074] Specifically, before product packaging and release, during the product packaging process, as shown in Figure 7, the layer status is queried periodically, and the DevOps build status of all non-final projects in the current layer is concurrently queried and written back. The build instance status is viewed through DevOps REST calls, and build scheduling is triggered. If a layer build fails, it waits for the next poll. If a layer build succeeds, it enters the next layer, obtains the projects to be built, builds them concurrently, creates a pipeline, creates a DevOps pipeline through DevOps REST calls, returns the pipeline ID, and uses DevOps REST calls to call the DevOps pipeline to build the project version. Only after all projects have been built is the packaging and release performed. In addition, the versions of each project are divided into: 1. BETA version, mainly used by developers for self-testing in the development environment; 2. RC version, mainly used by testers in the system integration test room; 3. RELEASE version, the version officially released to the public. Each project version can only be released once as a RELEASE version.

[0075] To enable those skilled in the art to better understand the technical solution of this application, the implementation process of the packaging and publishing method of the technical platform of this application will be described in detail below with reference to specific embodiments.

[0076] This embodiment relates to a specific method for packaging and releasing a technology platform, including the following steps:

[0077] Step S1: Group the projects built in the technology platform to obtain the technology platform release. The technology platform release is divided into the first level to the Nth level from the bottom to the top. Each level includes multiple projects, N≥2. The bottom level is the level where none of the projects have a parent project. The top level is the level where none of the projects are the parent projects of other projects.

[0078] Step S2: Call the polling thread to query the layer status of each of the above-mentioned layers. The layer status includes layer build success status and layer build failure status. The layer build success status is when all the above-mentioned projects in the above-mentioned layer have been successfully built. The layer build failure status is when any of the above-mentioned projects in the above-mentioned layer fails to build. If any of the above-mentioned layer statuses is in the layer build failure status, stop the overall packaging and release process. The above-mentioned stopping the overall packaging and release process is the process of packaging and releasing the above-mentioned technology platform release.

[0079] Step S3: Package all the above-mentioned projects in the first level; Identification step: after all the above-mentioned projects in the i-th level have been packaged, identify the release version of the packaged projects in the i-th level to obtain multiple first release versions; Modification step includes a first determination sub-step, a second determination sub-step, a modification sub-step, and a repetition step, wherein, the first determination sub-step determines the target parent project based on the dependency version of the first target project to be packaged, the target parent project is the parent project of the first target project to be packaged in the i-th level, and the first target project to be packaged is any one of the projects to be packaged in the (i+1)-th level; Second determination sub-step: determine the first release version corresponding to the target parent project as the second release version; Modification sub-step: The dependency version of the first target project to be packaged is modified to the second release version mentioned above; the steps are repeated, and the first determination sub-step, the second determination sub-step, and the modification sub-step are repeated at least once in sequence until the dependency versions of all the first target projects to be packaged are modified; in the packaging step, all the modified projects to be packaged at the (i+1)th level are packaged; the identification step, the modification step, and the packaging step are repeated at least once in sequence until the projects at all the above levels are packaged, resulting in the release version of the target technology platform, where the first release version is the release version of the packaged project in the i-th level identified, and the modified dependency version is obtained by modifying the dependency version of the project to be packaged in the (i+1)th level, where 1≤i<N;

[0080] Step S4: Release the target technology platform version or update the second target project to be packaged to the latest version. The second target project to be packaged can be any of the above-mentioned projects released by the technology platform. If the second target project to be packaged is a project at the first level, update the second target project to be packaged to the latest version, package and release the latest version of the second target project to be packaged. If the second target project to be packaged is a project at the (i+1)th level, update the second target project to be packaged to the latest version, and modify the dependency version of the latest version of the second target project to be packaged so that the modified dependency version is consistent with the first release version corresponding to the parent project of the second target project to be packaged. Package and release the modified second target project to be packaged.

[0081] It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases the steps shown or described may be executed in a different order than that shown here.

[0082] This application also provides a packaging and publishing apparatus for a technology platform. It should be noted that this packaging and publishing apparatus can be used to execute the packaging and publishing method for a technology platform provided in this application. This apparatus is used to implement the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that performs a predetermined function. Although the apparatus described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0083] The following describes the packaging and publishing device of the technical platform provided in the embodiments of this application.

[0084] Figure 8 is a schematic diagram of a packaging and publishing device for a technical platform according to an embodiment of this application. As shown in Figure 8, the device includes:

[0085] The first processing unit 10 is used to group the projects built in the technology platform to obtain the technology platform release. The technology platform release is divided into the first level to the Nth level from the bottom to the top level. Each level includes multiple projects, N≥2. The bottom level is the level where none of the projects have a parent project. The top level is the level where none of the projects are the parent projects of other projects.

[0086] Specifically, as shown in Figure 3, the projects built in the technology platform are grouped, that is, the product structure matrix is ​​established and snapshots are stored according to the structure of the technology platform. Product version release management is carried out during the product definition process. The snapshot storage of the project build history constitutes the product build history. A media list of the project package is generated. The technology platform release is divided from the bottom to the top, mainly into the infrastructure layer, microservice framework layer, interface layer, implementation layer, technology platform starter layer, independent service layer and resource layer.

[0087] The second processing unit 20 is used to sequentially package the first level to the Nth level to obtain the target technology platform release. When packaging the project to be packaged in the (i+1)th level, the dependency version of the project to be packaged in the (i+1)th level is modified so that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged. The first release version is the release version of the packaged project in the i-th level that has been identified. The modified dependency version is obtained by modifying the dependency version of the project to be packaged in the (i+1)th level, where 1≤i<N.

[0088] Specifically, the first to the Nth level are packaged sequentially to obtain the target technology platform release. After the packaged version of the previous level is finalized, the dependency version of the next level is updated to ensure that the project dependency version of each level is accurate. The target technology platform release includes the release versions of all levels. Batch release supports release for each level of the technology platform or release for the entire technology platform.

[0089] The third processing unit 30 is used to release the aforementioned target technology platform.

[0090] Specifically, the release of the target technology platform includes all levels of release versions. The release of the above-mentioned target technology platform release means that the technology platform as a whole is released.

[0091] In the packaging and publishing device of the aforementioned technology platform, the first processing unit groups the projects constructed in the technology platform to obtain a technology platform release. The technology platform release is divided into the first level to the Nth level from the bottom to the top. Each level includes multiple projects, where N≥2. The bottom level is the level where none of the projects have a parent project, and the top level is the level where none of the projects are the parent projects of any other projects. The second processing unit sequentially packages the first level to the Nth level to obtain the target technology platform release. When packaging the project to be packaged in the (i+1)th level, the dependency version of the project to be packaged in the (i+1)th level is modified so that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged. The first release version is the release version of the packaged project in the i-th level that has been identified. The modified dependency version is obtained by modifying the dependency version of the project to be packaged in the (i+1)th level, where 1≤i<N. The third processing unit publishes the target technology platform release. This device groups the projects built in the technology platform to obtain the technology platform release, and sequentially packages the first level to the Nth level. By automatically identifying the release version of the packaged project in the i-th level, it obtains the first release version, thereby modifying the dependency version of the project to be packaged in the (i+1)-th level, so that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged. This realizes automatic update of dependency version and solves the problem of time-consuming and labor-intensive packaging and release methods of technology platforms in the prior art.

[0092] To achieve intelligent replacement of dependent versions, in one optional implementation, the second processing unit includes:

[0093] The first packaging module is used to package all the above-mentioned projects in the first level.

[0094] The identification module is used to identify the steps, and when all the above-mentioned projects at the i-th level have been packaged, to identify the release version of the packaged projects at the i-th level and obtain multiple first release versions.

[0095] The modification module is used to modify the steps and modify the dependency version of the above-mentioned project to be packaged, so that the modified dependency version is consistent with the first release version corresponding to the parent project of the above-mentioned project to be packaged.

[0096] The second packaging module is used for the packaging step, which packages all the modified projects to be packaged at the (i+1)th level.

[0097] The repeat module is used to repeat the above identification step, the above modification step, and the above packaging step at least once in sequence until all the above-mentioned projects at all the above levels are packaged and the above-mentioned target technology platform is released.

[0098] Specifically, as shown in Figure 4, it is determined whether the product build number exists. If it does, all project build tasks are directly obtained. If not, project build tasks are created based on the project versions in the existing product version. Batch build initialization is performed, including initializing the context, filtering out the projects to be built, initializing the timer, starting batch build scheduling, starting the timer, checking and backfilling the build task status through periodic polling, and controlling the build order. This allows all projects to be packaged to be updated to the latest version. Then, packaging begins layer by layer until all the above-mentioned projects at all the above levels are packaged, thus obtaining the target technology platform release.

[0099] To ensure the accuracy of dependent versions in batch releases, in one optional implementation, the above-mentioned apparatus further includes:

[0100] The first update unit is used to update the project to be packaged in the (i+1)th level to the latest version after modifying the dependency version of the project to be packaged, and to establish the correspondence between the modified dependency version and the latest version.

[0101] Specifically, before packaging and releasing, the above-mentioned projects to be packaged need to be updated to the latest version and the dependencies need to be updated to ensure the accuracy of the dependency versions for batch release.

[0102] To ensure that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged, in an optional implementation, the modification module includes:

[0103] The first determining submodule is used to execute the first determining sub-step, which determines the target parent project based on the dependency version of the first target project to be packaged. The target parent project is the parent project of the first target project to be packaged in the i-th level, and the first target project to be packaged is any one of the projects to be packaged in the (i+1)-th level.

[0104] The second determination submodule is used to execute the second determination sub-step, which determines the first release version corresponding to the target parent project as the second release version;

[0105] The modification submodule is used to execute the modification sub-steps, which modify the dependency version of the first target project to be packaged to the second release version.

[0106] The repeating submodule is used to repeat the first determining sub-step, the second determining sub-step, and the modification sub-step at least once in sequence until all the dependency versions of the first target project to be packaged have been modified.

[0107] Specifically, as shown in Figure 5, the DevOps pipeline task executes the Maven ecosystem plugin to register the previous version of the POM (the content of the previous version of the project). It then determines whether the POM needs to be automatically replaced. If so, it modifies its own version number, the parent POM version number, and the dependency version number, that is, updates the project to the latest version. It also modifies the parent POM version number and dependency version number of the child projects that depend on this project, obtains the modified dependency version number, analyzes the media dependency information using the Mojo SDK, traverses the dependent projects, that is, finds the child projects that depend on the current project, calls the ecosystem interface Gov to obtain the latest version information, and searches for the latest media entry in the media list based on the two dependency elements, that is, obtains the project ID of the JAR packaged by the project, finds the corresponding project version in the product version by the project ID, and obtains the latest media version, that is, the version of the packaged and released JAR package. If not, or if the modification is completed, it calls back the ecosystem interface Gov to register the media information, that is, register the information of the packaged JAR package of the project, and completes the automatic update of Maven dependencies.

[0108] In an optional implementation for releasing a single project, the apparatus further includes:

[0109] The second update unit is used to group the projects built in the technology platform and update the second target project to be packaged to the latest version after the technology platform release. The second target project to be packaged is any one of the above-mentioned projects released by the technology platform.

[0110] The fourth processing unit is used to modify the dependency version of the second target project to be packaged in the latest version, so as to obtain the modified dependency version and make the modified dependency version consistent with the version of the parent project of the second target project to be packaged.

[0111] The fifth processing unit is used to package and publish the modified second target project.

[0112] Specifically, the process of updating the second target project to be packaged to the latest version is shown in Figure 6. The Gov-main thread performs optimistic locking checks to avoid project data conflicts, builds the pipeline by creating a pipeline using a build parameter object, calls the pipeline creation interface via REST, returns the pipeline ID, adds a build history, starts a timed thread to refresh the build history status, and calls back the ecosystem interface for pipeline post-processing tasks. After the build, the second target project to be packaged can be updated to the latest version. After the update, the dependency versions can be modified, and then it can be packaged and released, realizing independent release, that is, releasing a single project. In this process, users only need to care about core parameter information such as project name and branch.

[0113] To ensure the accuracy of dependent versions, in one optional implementation, the fourth processing unit includes:

[0114] The first processing module is used to update the second target project to be packaged to the latest version when the second target project to be packaged is the first level project, and to package and publish the latest version of the second target project to be packaged.

[0115] The second processing module is used to update the second target project to be packaged to the latest version when the second target project to be packaged is the project at the (i+1)th level, and modify the dependency version of the second target project to be packaged in the latest version so that the modified dependency version is consistent with the first release version corresponding to the parent project of the second target project to be packaged.

[0116] Specifically, the packaging and release of the second target project to be packaged falls into two categories. If the second target project to be packaged is the first-level project, and there is no upper-level project that has already been packaged and released, then the second target project to be packaged only needs to be updated to the latest version before it can be packaged and released directly. If the second target project to be packaged is the (i+1)th-level project, then the latest version of the second target project to be packaged's dependent versions are also required to ensure the accuracy of the dependent versions.

[0117] To ensure the accuracy of dependent versions, in an optional implementation, the above-mentioned apparatus further includes:

[0118] The calling unit is used to call the polling thread to query the layer status of each of the above layers before packaging the first layer to the Nth layer in sequence and obtaining the target technology platform release. The layer status includes the layer construction success status and the layer construction failure status. The layer construction success status is the status that all the above projects of the above layer have been successfully built. The layer construction failure status is the status that any one of the above projects of the above layer has failed to be built.

[0119] The sixth processing unit is used to stop the overall packaging and release process when any of the above-mentioned layered states is a layered construction failure state. The above-mentioned stopping the overall packaging and release process is the process of packaging and releasing the above-mentioned technology platform release as a whole.

[0120] Specifically, before product packaging and release, during the product packaging process, as shown in Figure 7, the layer status is queried periodically, and the DevOps build status of all non-final projects in the current layer is concurrently queried and written back. The build instance status is viewed through DevOps REST calls, and build scheduling is triggered. If a layer build fails, it waits for the next poll. If a layer build succeeds, it enters the next layer, obtains the projects to be built, builds them concurrently, creates a pipeline, creates a DevOps pipeline through DevOps REST calls, returns the pipeline ID, and uses DevOps REST calls to call the DevOps pipeline to build the project version. Only after all projects have been built is the packaging and release performed. In addition, the versions of each project are divided into: 1. BETA version, mainly used by developers for self-testing in the development environment; 2. RC version, mainly used by testers in the system integration test room; 3. RELEASE version, the version officially released to the public. Each project version can only be released once as a RELEASE version.

[0121] The packaging and distribution device for the aforementioned technology platform includes a processor and a memory. The first processing unit, the second processing unit, and the third processing unit are all stored as program units in the memory, and the processor executes the program units stored in the memory to achieve the corresponding functions. All of the above modules are located in the same processor; alternatively, the modules may be located in different processors in any combination.

[0122] The processor contains a kernel, which retrieves the corresponding program units from memory. One or more kernels can be configured, and adjusting kernel parameters can address the time-consuming and labor-intensive problem of manually modifying dependency versions in existing technology platform packaging and distribution methods.

[0123] The memory may include non-permanent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.

[0124] This invention provides a computer-readable storage medium including a stored program, wherein, when the program is executed, it controls the device where the computer-readable storage medium is located to execute the packaging and distribution method of the aforementioned technology platform.

[0125] Specifically, the methods for packaging and releasing the technology platform include:

[0126] Step S201: Group the projects built in the technology platform to obtain the technology platform release. The technology platform release is divided into the first level to the Nth level from the bottom to the top level. Each level includes multiple projects, N≥2. The bottom level is the level where none of the projects have a parent project. The top level is the level where none of the projects are the parent projects of other projects.

[0127] Specifically, as shown in Figure 3, the projects built in the technology platform are grouped, that is, the product structure matrix is ​​established and snapshots are stored according to the structure of the technology platform. Product version release management is carried out during the product definition process. The snapshot storage of the project build history constitutes the product build history. A media list of the project package is generated. The technology platform release is divided from the bottom to the top, mainly into the infrastructure layer, microservice framework layer, interface layer, implementation layer, technology platform starter layer, independent service layer and resource layer.

[0128] Step S202: Pack the first level to the Nth level sequentially to obtain the target technology platform release. When packaging the project to be packaged in the (i+1)th level, modify the dependency version of the project to be packaged in the (i+1)th level so that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged. The first release version is the release version of the packaged project in the i-th level that has been identified. The modified dependency version is obtained by modifying the dependency version of the project to be packaged in the (i+1)th level, where 1≤i<N.

[0129] Specifically, the first to the Nth level are packaged sequentially to obtain the target technology platform release. After the packaged version of the previous level is finalized, the dependency version of the next level is updated to ensure that the project dependency version of each level is accurate. The target technology platform release includes the release versions of all levels. Batch release supports release for each level of the technology platform or release for the entire technology platform.

[0130] Step S203: Release the aforementioned target technology platform.

[0131] Specifically, the release of the target technology platform includes all levels of release versions. The release of the above-mentioned target technology platform release means that the technology platform as a whole is released.

[0132] Optionally, step S202 includes: step S2021, packaging all the projects in the first level; step S2022, identification step, identifying the release version of the packaged project in the i-th level after all the projects in the i-th level have been packaged, and obtaining multiple first release versions; step S2023, modification step, modifying the dependency version of the project to be packaged so that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged; step S2024, packaging step, packaging all the modified projects to be packaged in the (i+1)-th level; step S2025, repeating the identification step, modification step and packaging step at least once in sequence until all the projects in the above levels have been packaged, and obtaining the target technology platform release.

[0133] Optionally, after the above modification steps, the method further includes: step S301, updating the project to be packaged in the (i+1)th level to the latest version, and establishing the correspondence between the modified dependency version and the latest version.

[0134] Optionally, step S2023 includes: step S20231, a first determination sub-step, determining the target parent project based on the dependency version of the first target project to be packaged, wherein the target parent project is the parent project of the first target project to be packaged in the i-th level, and the first target project to be packaged is any one of the projects to be packaged in the (i+1)-th level; step S20232, a second determination sub-step, determining the first release version corresponding to the target parent project as the second release version; step S20233, a modification sub-step, modifying the dependency version of the first target project to be packaged to the second release version; step S20234, repeating the first determination sub-step, the second determination sub-step, and the modification sub-step at least once in sequence until all the dependency versions of the first target projects to be packaged have been modified.

[0135] Optionally, after step S201, the above method further includes: step S401, updating the second target project to be packaged to the latest version, wherein the second target project to be packaged is any of the above-mentioned projects released by the above-mentioned technology platform; step S402, modifying the dependency version of the second target project to be packaged in the latest version to obtain the modified dependency version, such that the modified dependency version is consistent with the version of the parent project of the second target project to be packaged; step S403, packaging and publishing the modified second target project to be packaged.

[0136] Optionally, step S402 includes: step S4021, when the second target project to be packaged is the first level project, updating the second target project to be packaged to the latest version, packaging and publishing the latest version of the second target project to be packaged; step S4022, when the second target project to be packaged is the (i+1)th level project, updating the second target project to be packaged to the latest version, and modifying the dependency version of the latest version of the second target project to be packaged, so that the modified dependency version is consistent with the first release version corresponding to the parent project of the second target project to be packaged.

[0137] Optionally, before step S202, the method further includes: step S501, calling a polling thread to query the layer status of each layer, the layer status including layer construction success status and layer construction failure status, the layer construction success status being the status that all the projects of the layer have been successfully constructed, the layer construction failure status being the status that any one of the projects of the layer has failed to be constructed; step S502, in the case that any layer status is the layer construction failure status, stopping the overall packaging and release process, the stopping of the overall packaging and release process being the process of packaging and releasing the technology platform as a whole.

[0138] This invention provides a processor for running a program, wherein the program executes the packaging and distribution method of the aforementioned technology platform during runtime.

[0139] Specifically, the methods for packaging and releasing the technology platform include:

[0140] Step S201: Group the projects built in the technology platform to obtain the technology platform release. The technology platform release is divided into the first level to the Nth level from the bottom to the top level. Each level includes multiple projects, N≥2. The bottom level is the level where none of the projects have a parent project. The top level is the level where none of the projects are the parent projects of other projects.

[0141] Specifically, as shown in Figure 3, the projects built in the technology platform are grouped, that is, the product structure matrix is ​​established and snapshots are stored according to the structure of the technology platform. Product version release management is carried out during the product definition process. The snapshot storage of the project build history constitutes the product build history. A media list of the project package is generated. The technology platform release is divided from the bottom to the top, mainly into the infrastructure layer, microservice framework layer, interface layer, implementation layer, technology platform starter layer, independent service layer and resource layer.

[0142] Step S202: Pack the first level to the Nth level sequentially to obtain the target technology platform release. When packaging the project to be packaged in the (i+1)th level, modify the dependency version of the project to be packaged in the (i+1)th level so that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged. The first release version is the release version of the packaged project in the i-th level that has been identified. The modified dependency version is obtained by modifying the dependency version of the project to be packaged in the (i+1)th level, where 1≤i<N.

[0143] Specifically, the first to the Nth level are packaged sequentially to obtain the target technology platform release. After the packaged version of the previous level is finalized, the dependency version of the next level is updated to ensure that the project dependency version of each level is accurate. The target technology platform release includes the release versions of all levels. Batch release supports release for each level of the technology platform or release for the entire technology platform.

[0144] Step S203: Release the aforementioned target technology platform.

[0145] Specifically, the release of the target technology platform includes all levels of release versions. The release of the above-mentioned target technology platform release means that the technology platform as a whole is released.

[0146] This invention provides a development system for a technical platform. The device includes a processor, a memory, and a program stored in the memory and executable on the processor. When the processor executes the program, it performs at least the following steps:

[0147] Step S201: Group the projects built in the technology platform to obtain the technology platform release. The technology platform release is divided into the first level to the Nth level from the bottom to the top level. Each level includes multiple projects, N≥2. The bottom level is the level where none of the projects have a parent project. The top level is the level where none of the projects are the parent projects of other projects.

[0148] Specifically, as shown in Figure 3, the projects built in the technology platform are grouped, that is, the product structure matrix is ​​established and snapshots are stored according to the structure of the technology platform. Product version release management is carried out during the product definition process. The snapshot storage of the project build history constitutes the product build history. A media list of the project package is generated. The technology platform release is divided from the bottom to the top, mainly into the infrastructure layer, microservice framework layer, interface layer, implementation layer, technology platform starter layer, independent service layer and resource layer.

[0149] Step S202: Pack the first level to the Nth level sequentially to obtain the target technology platform release. When packaging the project to be packaged in the (i+1)th level, modify the dependency version of the project to be packaged in the (i+1)th level so that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged. The first release version is the release version of the packaged project in the i-th level that has been identified. The modified dependency version is obtained by modifying the dependency version of the project to be packaged in the (i+1)th level, where 1≤i<N.

[0150] Specifically, the first to the Nth level are packaged sequentially to obtain the target technology platform release. After the packaged version of the previous level is finalized, the dependency version of the next level is updated to ensure that the project dependency version of each level is accurate. The target technology platform release includes the release versions of all levels. Batch release supports release for each level of the technology platform or release for the entire technology platform.

[0151] Step S203: Release the aforementioned target technology platform.

[0152] Specifically, the release of the target technology platform includes all levels of release versions. The release of the above-mentioned target technology platform release means that the technology platform as a whole is released.

[0153] This application also provides a computer program product, which, when executed on a data processing device, is suitable for executing an initialization program having at least the following method steps:

[0154] Step S201: Group the projects built in the technology platform to obtain the technology platform release. The technology platform release is divided into the first level to the Nth level from the bottom to the top level. Each level includes multiple projects, N≥2. The bottom level is the level where none of the projects have a parent project. The top level is the level where none of the projects are the parent projects of other projects.

[0155] Specifically, as shown in Figure 3, the projects built in the technology platform are grouped, that is, the product structure matrix is ​​established and snapshots are stored according to the structure of the technology platform. Product version release management is carried out during the product definition process. The snapshot storage of the project build history constitutes the product build history. A media list of the project package is generated. The technology platform release is divided from the bottom to the top, mainly into the infrastructure layer, microservice framework layer, interface layer, implementation layer, technology platform starter layer, independent service layer and resource layer.

[0156] Step S202: Pack the first level to the Nth level sequentially to obtain the target technology platform release. When packaging the project to be packaged in the (i+1)th level, modify the dependency version of the project to be packaged in the (i+1)th level so that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged. The first release version is the release version of the packaged project in the i-th level that has been identified. The modified dependency version is obtained by modifying the dependency version of the project to be packaged in the (i+1)th level, where 1≤i<N.

[0157] Specifically, the first to the Nth level are packaged sequentially to obtain the target technology platform release. After the packaged version of the previous level is finalized, the dependency version of the next level is updated to ensure that the project dependency version of each level is accurate. The target technology platform release includes the release versions of all levels. Batch release supports release for each level of the technology platform or release for the entire technology platform.

[0158] Step S203: Release the aforementioned target technology platform.

[0159] Specifically, the release of the target technology platform includes all levels of release versions. The release of the above-mentioned target technology platform release means that the technology platform as a whole is released.

[0160] It is obvious to those skilled in the art that the modules or steps of the present invention described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. They can be implemented using computer-executable program code, and thus can be stored in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those described herein, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, the present invention is not limited to any particular combination of hardware and software.

[0161] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0162] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more flowchart illustrations and / or one or more block diagrams.

[0163] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.

[0164] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.

[0165] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0166] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0167] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0168] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0169] As can be seen from the above description, the embodiments of this application achieve the following technical effects:

[0170] 1) In the packaging and release method of the technology platform of this application, firstly, the projects built in the technology platform are grouped to obtain the technology platform release. The technology platform release is divided into the first level to the Nth level from the bottom to the top. Each level includes multiple projects, N≥2. The bottom level is the level where none of the projects have a parent project, and the top level is the level where none of the projects are the parent projects of other projects. Then, the first level to the Nth level are packaged sequentially to obtain the target technology platform release. When packaging the project to be packaged in the (i+1)th level, the dependency version of the project to be packaged in the (i+1)th level is modified so that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged. The first release version is the release version of the packaged project in the i-th level that has been identified. The modified dependency version is obtained by modifying the dependency version of the project to be packaged in the (i+1)th level, 1≤i<N. Finally, the target technology platform release is released. This method groups the projects built in the technology platform to obtain the technology platform release, and sequentially packages the first level to the Nth level. By automatically identifying the release version of the packaged project in the i-th level, the first release version is obtained. This allows modification of the dependency version of the project to be packaged in the (i+1)-th level, ensuring that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged. This achieves automatic update of dependency versions and solves the problem of time-consuming and labor-intensive packaging and release methods for technology platforms in the prior art.

[0171] 2) In the packaging and publishing device of the technical platform of this application, the first processing unit groups the projects constructed in the technical platform to obtain the technical platform release. The technical platform release is divided into the first level to the Nth level from the bottom to the top. Each level includes multiple projects, N≥2. The bottom level is the level where none of the projects have a parent project, and the top level is the level where none of the projects are the parent projects of other projects. The second processing unit packages the first level to the Nth level in sequence to obtain the target technical platform release. When packaging the project to be packaged in the (i+1)th level, the dependency version of the project to be packaged in the (i+1)th level is modified so that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged. The first release version is the release version of the packaged project in the i-th level that has been identified. The modified dependency version is obtained by modifying the dependency version of the project to be packaged in the (i+1)th level, 1≤i<N. The third processing unit publishes the target technical platform release. This device groups the projects built in the technology platform to obtain the technology platform release, and sequentially packages the first level to the Nth level. By automatically identifying the release version of the packaged project in the i-th level, it obtains the first release version, thereby modifying the dependency version of the project to be packaged in the (i+1)-th level, so that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged. This realizes automatic update of dependency version and solves the problem of time-consuming and labor-intensive packaging and release methods of technology platforms in the prior art.

[0172] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A method for packaging and releasing a technology platform, characterized in that, include: The projects built in the technology platform are grouped to obtain the technology platform release. The technology platform release is divided into the first level to the Nth level from the bottom to the top level. Each level includes multiple projects, N≥2. The bottom level is the level where none of the projects have a parent project. The top level is the level where none of the projects are the parent projects of other projects. The first level to the Nth level are packaged sequentially to obtain the target technology platform release. When packaging the project to be packaged in the (i+1)th level, the dependency version of the project to be packaged in the (i+1)th level is modified so that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged. The first release version is the release version of the packaged project in the i-th level that has been identified. The modified dependency version is obtained by modifying the dependency version of the project to be packaged in the (i+1)th level, where 1≤i<N. Release the target technology platform. The process of sequentially packaging the first level to the Nth level to obtain a target technology platform release includes: packaging all the projects in the first level; an identification step, in which, after all the projects in the i-th level have been packaged, the release version of the packaged projects in the i-th level is identified to obtain multiple first release versions; and a modification step, in which the dependency versions of the project to be packaged are modified so that the modified dependency versions are consistent with the first release version corresponding to the parent project of the project to be packaged. The packaging step involves packaging all modified projects to be packaged at the (i+1)th level; repeating the identification step, the modification step, and the packaging step at least once in sequence until all projects at all levels are packaged, resulting in the target technology platform release; the modification step includes: a first determination sub-step, determining a target parent project based on the dependency version of the first target project to be packaged, wherein the target parent project is the parent project of the first target project to be packaged in the i-th level, and the first target project to be packaged is any one of the projects to be packaged in the (i+1)th level; a second determination sub-step, determining the first release version corresponding to the target parent project as the second release version; a modification sub-step, modifying the dependency version of the first target project to be packaged to the second release version; repeating the first determination sub-step, the second determination sub-step, and the modification sub-step at least once in sequence until all dependency versions of the first target project to be packaged are modified.

2. The method according to claim 1, characterized in that, After the modification step, the method further includes: updating the project to be packaged in the (i+1)th level to the latest version, and establishing a correspondence between the modified dependency version and the latest version.

3. The method according to claim 1 or 2, characterized in that, After grouping the projects built in the technology platform and obtaining the technology platform release version, the method further includes: updating the second target project to be packaged to the latest version, wherein the second target project to be packaged is any one of the projects released by the technology platform; modifying the dependency version of the latest version of the second target project to be packaged to obtain the modified dependency version, such that the modified dependency version is consistent with the version of the parent project of the second target project to be packaged; and packaging and releasing the modified second target project to be packaged.

4. The method according to claim 3, characterized in that, Modifying the dependency versions of the latest version of the second target project to be packaged to obtain modified dependency versions, such that the modified dependency versions are consistent with the version of the parent project of the second target project to be packaged, includes: when the second target project to be packaged is a project of the first level, updating the second target project to be packaged to the latest version, packaging and publishing the latest version of the second target project to be packaged; when the second target project to be packaged is a project of the (i+1)th level, updating the second target project to be packaged to the latest version, and modifying the dependency versions of the latest version of the second target project to be packaged, such that the modified dependency versions are consistent with the first published version corresponding to the parent project of the second target project to be packaged.

5. The method according to claim 1, characterized in that, Before sequentially packaging the first to the Nth layers to obtain the target technology platform release, the method further includes: calling a polling thread to query the layer status of each layer, the layer status including layer construction success status and layer construction failure status, the layer construction success status being the status that all projects of the layer have been successfully built, the layer construction failure status being the status that any one project of the layer has failed to build; if any layer status is the layer construction failure status, the overall packaging and release process is stopped, the process of stopping the overall packaging and release process is the process of packaging and releasing the technology platform release as a whole.

6. A packaging and distribution device for a technology platform, characterized in that, include: The first processing unit is used to group the projects built in the technology platform to obtain the technology platform release. The technology platform release is divided into the first level to the Nth level from the bottom to the top level. Each level includes multiple projects, N≥2. The bottom level is the level in which all projects do not have a parent project, and the top level is the level in which all projects are not the parent project of other projects. The second processing unit is used to sequentially package the first level to the Nth level to obtain the target technology platform release. When packaging the project to be packaged in the (i+1)th level, the dependency version of the project to be packaged in the (i+1)th level is modified so that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged. The first release version is the release version of the packaged project in the i-th level that has been identified. The modified dependency version is obtained by modifying the dependency version of the project to be packaged in the (i+1)th level, where 1≤i<N. The third processing unit is used to release the target technology platform version; The second processing unit includes: a first packaging module, used to perform an identification step, identifying the release version of the packaged project in the i-th level after all the projects in the i-th level have been packaged, and obtaining multiple first release versions; a modification module, used to perform a modification step, modifying the dependency version of the project to be packaged, so that the modified dependency version is consistent with the first release version corresponding to the parent project of the project to be packaged; a second packaging module, used to perform a packaging step, packaging all the modified projects to be packaged in the (i+1)-th level; and a repetition module, used to repeat the identification step, the modification step, and the packaging step at least once in sequence until all the projects in all levels have been packaged, obtaining the target technology platform release; the modification module packages... The method includes: a first determining submodule for executing a first determining substep, which determines a target parent project based on the dependency version of the first target project to be packaged, wherein the target parent project is the parent project of the first target project to be packaged in the i-th level, and the first target project to be packaged is any one of the projects to be packaged in the (i+1)-th level; a second determining submodule for executing a second determining substep, which determines the first release version corresponding to the target parent project as the second release version; a modifying submodule for executing a modifying substep, which modifies the dependency version of the first target project to be packaged to the second release version; and a repeating submodule for repeating the first determining substep, the second determining substep, and the modifying substep at least once in sequence until the dependency versions of all the first target projects to be packaged have been modified.

7. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored program, wherein, when the program is executed, it controls the device on which the computer-readable storage medium is located to perform the method according to any one of claims 1 to 5.

8. A development system for a technology platform, characterized in that, include: One or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising methods for performing any one of claims 1 to 5.

Citation Information

Patent Citations

  • Software project packaging method and related equipment

    CN113535138A

  • APP version issuing processing method and device, development processing system and storage medium

    CN115291940A