CN114089965A - Program development project management method and device based on monolithic code warehouse Monorepo - Google Patents

Program development project management method and device based on monolithic code warehouse Monorepo Download PDF

Info

Publication number
CN114089965A
CN114089965A CN202111389747.7A CN202111389747A CN114089965A CN 114089965 A CN114089965 A CN 114089965A CN 202111389747 A CN202111389747 A CN 202111389747A CN 114089965 A CN114089965 A CN 114089965A
Authority
CN
China
Prior art keywords
sub
item
version number
program development
project
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111389747.7A
Other languages
Chinese (zh)
Inventor
李沪文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Wangxing Information Technology Co ltd
Original Assignee
Guangzhou Wangxing Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Wangxing Information Technology Co ltd filed Critical Guangzhou Wangxing Information Technology Co ltd
Priority to CN202111389747.7A priority Critical patent/CN114089965A/en
Publication of CN114089965A publication Critical patent/CN114089965A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

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

Abstract

The invention discloses a program development project management method based on a monolithic code warehouse Monorepo and related equipment thereof. Wherein, the method comprises the following steps: creating a Mono-based program development project, wherein the program development project comprises a plurality of sub-projects stored in a preset storage space, each sub-project has a sub-project name and a version number, and the sub-project name is unique in the Mono-based program development project; updating the version number of the corresponding sub-item in response to the code modification; comparing the version number of the updated sub-item with the version number of the corresponding sub-item in the preset storage space; and if the version number of the updated sub-item is different from the version number of the corresponding sub-item in the preset storage space, packaging and compiling the updated sub-item, and storing the compiled sub-item in the preset storage space. The method realizes mutual independence and mutual noninfluency among sub-projects in the program development project, and is more convenient and faster to uniformly manage the sub-projects.

Description

Program development project management method and device based on monolithic code warehouse Monorepo
Technical Field
The invention relates to the technical field of computers, in particular to a program development project management method and device based on a single code warehouse Monosphere, computer equipment and a computer readable storage medium.
Background
In the prior art, in a program development project management manner of monolithic code warehouse monos, the project management is a manner of putting a plurality of Javascript code modules (npm packages) in a code warehouse, wherein each package is uniformly converged in a single warehouse, so as to uniformly and collectively manage the dependence, construction, development/debugging, testing, versioning and publishing of each sub-project at an upper layer, thereby providing more elegant multi-package management and cooperation schemes.
Disclosure of Invention
The present application aims to solve at least one of the technical problems in the related art to some extent.
Therefore, a first objective of the present application is to provide a program development project management method based on a monolithic code warehouse monos, which achieves that sub-projects in a program development project are independent from each other and are managed more conveniently and uniformly.
A second objective of the present application is to provide a program development project management apparatus based on monolithic code warehouse monosepo.
A third object of the present application is to propose a computer device.
A fourth object of the present application is to propose a non-transitory computer readable storage medium storing computer instructions.
In order to achieve the above object, an embodiment of the present application provides a program development project management method based on monolithic code warehouse Monorepo, including:
creating a Monoepo-based program development project, wherein the program development project comprises a plurality of sub-projects stored in a preset storage space, each sub-project has a sub-project name and a version number, and the sub-project name is unique in the Monoepo program development project;
updating the version number of the corresponding sub-item in response to the code modification;
comparing the version number of the updated sub-item with the version number of the corresponding sub-item in the preset storage space;
and if the version number of the updated sub-item is different from the version number of the corresponding sub-item in the preset storage space, packaging and compiling the updated sub-item, and storing the compiled sub-item in the preset storage space.
In order to achieve the above object, an embodiment of the present application provides a program development project management apparatus based on a monolithic code repository monospo, including:
the system comprises a creating module, a storage module and a processing module, wherein the creating module is used for creating a Monorepo-based program development project, the program development project comprises a plurality of sub-projects stored in a preset storage space, each sub-project has a sub-project name and a version number, and the sub-project name is unique in the Monorepo program development project;
the updating module is used for responding to the code modification and updating the version number of the corresponding sub-item;
the judging module is used for comparing the version number of the updated sub-item with the version number of the corresponding sub-item in the preset storage space;
and the processing module is used for packing and compiling the updated sub-items and storing the packed and compiled sub-items in the preset storage space if the version number of the updated sub-items is different from the version number of the corresponding sub-items in the preset storage space.
To achieve the above object, an embodiment of a third aspect of the present application provides a computer device, including: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the monolithic code warehouse library Monosphere based program development project management method of the first aspect of the present application.
To achieve the above object, a non-transitory computer readable storage medium storing computer instructions according to a fourth aspect of the present application includes: the computer instructions are configured to cause the computer to perform the method for program development project management based on monolithic code repository Monorepo according to the first aspect of the present application.
According to the program development project management method based on the monomer code warehouse library Monosphere, which is an embodiment of the application, a program development project based on the Monosphere is created, the program development project comprises a plurality of sub-projects stored in a preset storage space, each sub-project has a sub-project name and a version number, the sub-project name is unique in the Monosphere program development project, then the version number of the corresponding sub-project is updated in response to code modification, the updated version number of the sub-project is compared with the version number of the corresponding sub-project in the preset storage space, if the version number of the updated sub-item is different from the version number of the corresponding sub-item in the preset storage space, the updated sub-item is packaged and compiled and stored in the preset storage space, therefore, the sub-projects in the program development project are independent from each other and are not influenced with each other, and the sub-projects are managed conveniently and uniformly.
Other effects of the above-described alternative will be described below with reference to specific embodiments.
Drawings
The foregoing and/or additional aspects and advantages of the present invention will become apparent and readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
FIG. 1 is a flow diagram of a method for program development project management based on monolithic code repository Monosphere according to one embodiment of the present application;
FIG. 2 is a flowchart of a monolithic code warehouse Monorepo-based program development project management method according to an embodiment of the present invention;
FIG. 3 is a diagram of a prior art architecture based on a monolithic code warehouse, monosphere project management approach;
FIG. 4 is an architecture diagram of the present application based on a monolithic code warehouse, monosphere project management approach;
FIG. 5 is a schematic diagram of the structure of a run script file of the present application;
FIG. 6 is a schematic structural diagram of a program development project management device based on a monolithic code repository Monosphere according to an embodiment of the present invention;
FIG. 7 is a schematic diagram of a computer device according to one embodiment of the invention.
Detailed Description
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below with reference to the drawings are illustrative and intended to be illustrative of the invention and are not to be construed as limiting the invention.
In the related art, in the program development project management manner of monolithic code warehouse Monorepo, the project management is a manner of putting a plurality of Javascript code modules (npm packages) in one code warehouse for management, wherein each package is uniformly converged in a single warehouse, so as to uniformly and collectively manage the dependence, construction, development/debugging, testing, versioning and publishing of each sub-project at an upper layer, thereby providing a more elegant multi-package management and collaboration scheme.
To this end, the application provides a program development project management method, a program development project management device, a computer device and a computer readable storage medium based on a monolithic code warehouse Monorepo. Specifically, a program development project management method, an apparatus, an electronic device, and a non-transitory computer-readable storage medium storing computer instructions based on monolithic code repository monarnepo according to embodiments of the present application are described below with reference to the drawings.
FIG. 1 is a flowchart of a method for program development project management based on monolithic code repository Monosphere according to one embodiment of the present application. It should be noted that the program development project management method based on the monolithic code repository monospo according to the embodiment of the present application can be applied to the program development project management apparatus based on the monolithic code repository monospo according to the embodiment of the present application, and the apparatus can be configured on a computer device.
As shown in fig. 1, the program development project management method based on the monolithic code warehouse library Monorepo may include:
s110, creating a Monorepo-based program development project, wherein the program development project comprises a plurality of sub-projects stored in a preset storage space.
Each sub-project has a sub-project name and a version number, and the sub-project name is unique in the Monosphere program development project.
In an embodiment of the present application, a plurality of development projects based on the monoepo program can be created from the open-source distributed version control system GIT, wherein the monoepo can be built from zero, or an open-source scaffold can be used, for example, a project with a Mororepo framework is built by using management tools Lerna, nx, rush, etc., then a core folder for storing and managing sub projects is created under a root directory, and the name of the core folder is recorded in a Package under the root directory.
For example, a core folder is created in the open source distributed version control system GIT, and the core folder is used for storing and managing three sub-projects of project a, project B and project C.
And S120, responding to the code modification and updating the version number of the corresponding sub-item.
The rule of the version number adopts a Semver semantic version control specification, wherein the version number comprises a main version number, a minor version number and a revision number, the main version number is modified by an API (application program interface) which is incompatible in operation, the minor version number is newly added with functionality which is compatible in operation downwards, and the revision number is modified by a problem which is compatible in operation downwards.
In an embodiment of the application, an automated process may be executed by running a script file to implement the response code to update the version number of the corresponding sub-item.
The running of the script file comprises running the first script file and running the second script file, and the specific implementation process can refer to the subsequent embodiments.
S130, comparing the version number of the updated sub-item with the version number of the corresponding sub-item in the preset storage space.
That is, after the version number of the corresponding sub-item is updated in response to the code modification, it may be determined whether the updated version number of the sub-item is consistent with the version number of the corresponding sub-item in the preset storage space.
And S140, if the version number of the updated sub-item is different from the version number of the corresponding sub-item in the preset storage space, packaging and compiling the updated sub-item, and storing the sub-item in the preset storage space.
In an embodiment of the present invention, when it is determined that the updated sub-item version number is not consistent with the version number of the corresponding sub-item in the preset storage space, the updated sub-item is packaged and compiled, and the updated sub-item is stored in the preset storage space with the version number as a filename.
According to the program development project management method based on the monomer code warehouse library Monosphere, which is an embodiment of the application, a program development project based on the Monosphere is created, the program development project comprises a plurality of sub-projects stored in a preset storage space, each sub-project has a sub-project name and a version number, the sub-project name is unique in the Monosphere program development project, then the version number of the corresponding sub-project is updated in response to code modification, the updated version number of the sub-project is compared with the version number of the corresponding sub-project in the preset storage space, if the version number of the updated sub-item is different from the version number of the corresponding sub-item in the preset storage space, the updated sub-item is packaged and compiled and stored in the preset storage space, therefore, the sub-projects in the program development project are independent from each other and are not influenced with each other, and the sub-projects are managed conveniently and uniformly.
FIG. 2 is a flowchart of a method for program development project management based on monolithic code warehouse Monorepo, according to an embodiment of the present invention. As shown in fig. 2, the program development project management method based on the monolithic code warehouse Monorepo may include:
s210, creating a Monorepo-based program development project, wherein the program development project comprises a plurality of sub-projects stored in a preset storage space.
Each sub-project has a sub-project name and a version number, and the sub-project name is unique in the Monosphere program development project.
For example, a core folder is created in the open source distributed version control system GIT, and the core folder is used for storing and managing three sub-projects of project a, project B and project C.
And S220, running the first script file to respond to the code modification of the sub-item and/or the code modification of the dependency relationship of the sub-item, and updating the version number of the sub-item.
In the embodiment of the present application, whether the code of the sub-item is modified and/or whether the code of the dependency relationship of the sub-item is modified may be determined by determining whether the GIT node information is changed, and when the code of the sub-item is modified and/or the code of the dependency relationship of the sub-item is modified, the version number of the sub-item is updated.
It is understood that each modification in the open-source distributed version control system GIT may generate new node information, and when the new node information is generated, it may be determined that a code of a sub item and/or a code of a dependency of the sub item is modified, thereby updating the version number of the sub item.
For example, when the code of sub-item A, the code of sub-item B, and the code of sub-item C are determined to be modified, the major version number, the minor version number, and the revision number of sub-item A, sub-item B, and sub-item C are updated, for example, the sub-item A version number is updated from V1.0.0 to V1.1.0, the sub-item B version number is updated from V1.0.0 to V2.0.0, and the sub-item C version number is updated from V1.0.0 to V1.0.6.
And S230, operating the second script file to compare the version numbers of the sub-items and perform the operation of packaging and compiling the updated sub-items and storing the sub-items in a preset storage space.
In the embodiment of the application, in response to the update of the first script file on the version number of the sub-item, the second script file is executed to perform comparison of the version number of the sub-item and perform operations of packaging, compiling and storing the updated sub-item in the preset storage space.
It can be understood that after the version number of the sub-item is updated, the second script file can be automatically run to perform the operations of comparing the version numbers of the sub-items and packing, compiling and storing the updated sub-items in the preset storage space.
S240, comparing the version number of the updated sub-item with the version number of the corresponding sub-item in the preset storage space.
And S250, packaging and compiling the updated sub-items and storing the updated sub-items in the preset storage space, wherein the version numbers of the updated sub-items are different from the version numbers of the corresponding sub-items in the preset storage space.
For example, when the version number of the updated sub-item is determined to be inconsistent with the version number of the corresponding sub-item in the preset storage space, the updated sub-item is packaged and compiled, and the updated sub-item is stored in the preset storage space with the version number as a file name.
And S260, when the program is released, acquiring the name of the sub-item and the version number corresponding to the sub-item from the preset storage space, and selecting the sub-item according to the name and the version number of the sub-item and a preset requirement to release the sub-item.
For example, the publishing platform may set a timing script to read a file of the preset storage space to obtain all the sub-items and version numbers corresponding to the sub-items, and when the program is published, based on a connection between the preset storage space and the publishing platform being established in advance, a name of the sub-item and a version number corresponding to the sub-item may be obtained from the preset storage space, and the sub-item may be selected according to a predetermined requirement to be published according to the name and the version number of the sub-item, thereby implementing user access and implementing fast rollback of the publishing platform.
In an embodiment of the present application, when it is determined that a code of a sub-item has an error, the sub-item and an old version number of the sub-item are searched from a publishing platform until it is determined that a sub-item version corresponding to a certain old version number has no error, the publishing of the sub-item version is executed.
Wherein, errors exist in the codes of the sub-items, including but not limited to policy changes, technical problems, and the like.
For example, when a Bug problem exists in a certain sub-item code and rollback operation needs to be executed, the old version numbers of the sub-item and the sub-item are found from the publishing platform, and the sub-item version of the old version number is published when no error exists.
According to the method for managing the program development project based on the monomer code repository Monosphere, which is an embodiment of the application, the program development project based on the Monosphere is created, the program development project comprises a plurality of sub projects stored in a preset storage space, each sub project has a sub project name and a version number, the sub project names are unique in the Monosphere program development project, then a first script file is run to respond to code modification of the sub projects and/or code modification of dependency relationships of the sub projects, the version numbers of the sub projects are updated, then a second script file is run to respond to the update of the first script file to the version numbers of the sub projects, so as to perform comparison of the version numbers of the sub projects and package compiling of the updated sub projects and storing the updated sub projects in the preset storage space, and then when the program is released, the version numbers corresponding to the sub project names and the sub projects are obtained from the preset storage space, and selecting the sub-items to be issued according to the names and the version numbers of the sub-items and the preset requirements, so that the sub-items can be managed more conveniently, the relative independence of the relation among the sub-items can be ensured, the quick rollback operation can be executed, and the on-line effect of other sub-items can not be influenced.
In order to make it easier for those skilled in the art to understand the present application, fig. 3 is an architecture diagram of a monolithic code repository-based monosphere project management method in the prior art, and as shown in fig. 3, in the monolithic code repository-based monosphere project management, project artifacts are in a single linear incremental relationship, which may cause a rollback problem. For example, when the current project is the online version of V4, it is necessary to circumvent the loss by rolling back to the V1 version when it is found that a fatal bug occurs in the update of the V2 version, or that the content of the update of the V2 version becomes illegal due to a sudden change of some policy. However, this rollback may result in the V3 and V4 versions only modifying the content of item B and item C, independently of the problematic content of item A. The rollback does not both preserve the updated content of the V3 and V4 versions while discarding the content of the V2 version.
And when the rollback mode cannot solve the problems, technicians can only repair the contents of the V2 version and then reissue the contents, however, time difference is needed for positioning the problems to repair the contents to publish the contents to be online, the whole project can only be offline when the problems are serious, the project can be online again after the problems are repaired, and if the project uses the number of people in tens of millions, immeasurable loss can be caused even if the project is offline for a short time.
For this reason, the application proposes a program development project management based on monolithic code warehouse monosepo, as shown in fig. 4, a core folder is created in an open source distributed version control system GIT, and is used for storing and managing three sub-projects of a project a, a project B and a project C, wherein the version number of the sub-project a is V1.0.0, the version number of the sub-project B is V1.0.0, and the version number of the sub-project C is V1.0.0, and whether the codes of the sub-project a, the sub-project B and the sub-project C are modified, that is, whether the version numbers of the sub-project a, the sub-project B and the sub-project C are modified is determined in real time.
And when judging that the version numbers of the sub-item A, the sub-item B and the sub-item C are not modified, storing the current version numbers V1.0.0, V1.0.0 and V1.0.0 of the sub-item A, the sub-item B and the sub-item C as packaged products in the server.
During iterative updating, the codes of the sub-item A, the sub-item B and the sub-item C are all judged to be modified, the version number of the sub-item A is updated to V1.1.0 from V1.0.0, the version number of the sub-item B is updated to V2.0.0 from V1.0.0, the version number of the sub-item C is updated to V1.0.6 from V1.0.0, whether the sub-item A, the sub-item B and the sub-item C are modified or not is judged again, and if the modifications of the version numbers do not exist, the sub-item A V1.1.0, the sub-item B version number V2.0.0 and the sub-item C version number V1.0.6 are stored in a server as a packaged product.
When the iteration is updated again, the codes of the sub-item A and the sub-item B are judged to be modified, the version number of the sub-item A is updated to be V1.2.0 from V1.1.0, the version number of the sub-item B is updated to be V2.1.0 from V2.0.0, whether the sub-item A, the sub-item B and the sub-item C are selected to be modified or not is judged again, and if the version numbers are not modified, the version number of the sub-item A is V1.2.0, the version number of the sub-item B is V2.2.0 and the version number V1.0.6 of the sub-item C are stored in the server as a packaged product.
And then judging whether the updated version numbers of the sub-item A, the sub-item B and the sub-item C are consistent with the version number in the server or not, if not, packaging and compiling the updated sub-item, and storing the updated sub-item into a preset storage space by taking the version number as a file name.
As shown in fig. 5, sub-item a in the preset storage space includes V1.0.0, V1.1.0 and v1.2.0 versions, sub-item B includes V1.0.0, V2.0.0 and V2.1.0 versions, and sub-item C includes V1.0.0 and V1.0.6 versions.
It should be noted that, an automated process may be executed by running a script file to implement a response to code modification and update the version number of a corresponding sub-item, where the first script file is run to respond to code modification of the sub-item and/or code modification of a dependency relationship of the sub-item, the sub-item version number is updated, the updated sub-item version number is uniformly and automatically pushed to the main branch, and the second script file is run in response to update of the sub-item version number by the first script file to perform comparison of the sub-item version number and perform operations of packing and compiling the updated sub-item and storing the packed and compiled sub-item in a preset storage space.
Based on the connection between the preset storage space and the publishing platform, when the program is published, the name of the sub-project and the version number corresponding to the sub-project are obtained from the preset storage space, and the sub-project is selected according to the name and the version number of the sub-project and published according to the preset requirement.
Corresponding to the program development project management methods based on the monolithic code repository monospo provided in the above embodiments, an embodiment of the present invention further provides a program development project management apparatus based on the monolithic code repository monospo, and since the program development project management apparatus based on the monolithic code repository monospo provided in the embodiment of the present invention corresponds to the program development project management methods based on the monolithic code repository monospo provided in the above embodiments, the embodiments of the program development project management method based on the monolithic code repository monospo are also applicable to the program development project management apparatus based on the monolithic code repository monospo provided in the embodiment, and are not described in detail in this embodiment. FIG. 6 is a schematic structural diagram of a program development project management device based on the monolithic code repository Monosphere according to an embodiment of the present invention.
As shown in fig. 6, the program development project management apparatus 600 based on the monolithic code repository monospo includes: a creation module 610, an update module 620, a determination module 630, and a processing module 640, wherein,
a creating module 610, configured to create a program development project based on monacep, where the program development project includes multiple sub-projects stored in a preset storage space, each sub-project has a sub-project name and a version number, and the sub-project name is unique in the monacep program development project;
an updating module 620, configured to update the version number of the corresponding sub-item in response to the code modification;
a determining module 630, configured to compare the version number of the updated sub-item with the version number of the corresponding sub-item in the preset storage space;
and the processing module 640 is configured to, if the version number of the updated sub-item is different from the version number of the corresponding sub-item in the preset storage space, perform packing and compiling on the updated sub-item, and store the packed and compiled sub-item in the preset storage space.
According to the program development project management device based on the monolithic code warehouse library Monosphere of the embodiment of the application, by creating a Monoepo-based program development project, the program development project comprising a plurality of sub-projects stored in a preset storage space, each sub-project having a sub-project name and a version number, the sub-project name being unique in the Monoepo program development project, then updating the version number of the corresponding sub-project in response to code modification, comparing the updated version number of the sub-project with the version number of the corresponding sub-project in the preset storage space, if the version number of the updated sub-item is different from the version number of the corresponding sub-item in the preset storage space, the updated sub-item is packaged and compiled and stored in the preset storage space, therefore, the sub-projects in the program development project are independent from each other and are not influenced with each other, and the sub-projects are managed conveniently and uniformly.
In embodiments of the present application, the version number includes a major version number, a minor version number, and a revision number.
In an embodiment of the present application, the updating module 620 is specifically configured to run a script file to execute an automation process to modify the response code and update the version number of the corresponding sub-item.
In an embodiment of the present application, the updating module 620 is specifically configured to run the first script file to update the sub-item version number in response to the code modification of the sub-item and/or the code modification of the dependency relationship of the sub-item.
In an embodiment of the application, the updating module 620 is specifically configured to determine whether the GIT node information is changed when the first script file runs, to determine whether the codes of the sub-items are modified and/or whether the codes of the dependencies of the sub-items are modified, and update the version numbers of the sub-items when the codes of the sub-items are modified and/or the codes of the dependencies of the sub-items are modified.
In an embodiment of the application, the updating module 620 is specifically configured to respond to the update of the first script file to the sub-item version number, and run a second script file to perform the comparison of the sub-item version number and the operation of packing, compiling and storing the updated sub-item in the preset storage space.
In an embodiment of the application, the updated sub-item is stored in the preset storage space with the version number as a file name.
In an embodiment of the application, the apparatus further comprises: and the issuing module is used for acquiring the name of the sub-item and the version number corresponding to the sub-item from the preset storage space when the program is issued, and selecting the sub-item to issue according to the name and the version number of the sub-item and a preset requirement.
In an embodiment of the application, the publishing module is specifically configured to determine that a code of the sub-item has an error, search the sub-item and an old version number of the sub-item from a publishing platform, and execute publishing of the sub-item version until it is determined that a sub-item version corresponding to a certain old version number has no error.
In order to implement the above embodiments, the present invention further provides a computer device.
FIG. 7 is a schematic diagram of a computer device according to one embodiment of the invention. As shown in fig. 7, the computer device 700 may include: the memory 710, the processor 720 and the computer program 730 stored in the memory 710 and running on the processor 720, when the processor 720 executes the program, the program development project management method based on the monolithic code repository Monosphere according to any one of the above embodiments of the present invention is implemented.
In order to implement the above embodiments, the present invention further provides a computer program, which when executed by a processor implements any one of the above program development project management methods based on monolithic code warehouse library Monorepo.
The storage medium mentioned above may be a read-only memory, a magnetic or optical disk, etc. Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention, and that variations, modifications, substitutions and alterations can be made to the above embodiments by those of ordinary skill in the art within the scope of the present invention.

Claims (12)

1. A program development project management method based on monolithic code warehouse Monorepo is characterized by comprising the following steps:
creating a Monoepo-based program development project, wherein the program development project comprises a plurality of sub-projects stored in a preset storage space, each sub-project has a sub-project name and a version number, and the sub-project name is unique in the Monoepo program development project;
updating the version number of the corresponding sub-item in response to the code modification;
comparing the version number of the updated sub-item with the version number of the corresponding sub-item in the preset storage space;
and if the version number of the updated sub-item is different from the version number of the corresponding sub-item in the preset storage space, packaging and compiling the updated sub-item, and storing the compiled sub-item in the preset storage space.
2. The method of claim 1, wherein the version number comprises a major version number, a minor version number, and a revision number.
3. The method of claim 1, wherein updating a version number of a corresponding sub-item in response to the code modification comprises:
and running the script file to execute an automatic process so as to modify the response code and update the version number of the corresponding sub-item.
4. The method of claim 3, wherein the first script file is run to update the sub-item version number in response to code modifications of the sub-item and/or code modifications of dependencies of the sub-item.
5. The method of claim 4, wherein the first script file runs to determine whether GIT node information has changed to determine whether the codes of the sub-items and/or the codes of the dependencies of the sub-items have been modified, and update the version numbers of the sub-items when the codes of the sub-items and/or the codes of the dependencies of the sub-items have been modified.
6. The method of claim 5, wherein in response to the update of the first script file to the sub-item version number, a second script file is executed to perform the comparison of the sub-item version number and the operation of packaging, compiling and storing the updated sub-item in the preset storage space.
7. The method according to claim 1, wherein the updated sub-item is stored in the preset storage space with a version number as a file name.
8. The method according to any one of claims 1-7, further comprising: and when the program is released, acquiring the name of the sub-item and the version number corresponding to the sub-item from the preset storage space, and selecting the sub-item according to the name and the version number of the sub-item and a preset requirement for releasing.
9. The method of claim 8, wherein selecting a sub-item for publication on a predetermined basis according to the name and version number of the sub-item comprises: and judging that the codes of the sub-items have errors, searching the sub-items and the old version numbers of the sub-items from a release platform until the sub-item version corresponding to a certain old version number is judged to have no errors, and releasing the sub-item version.
10. A program development project management apparatus based on monolithic code repository monos, comprising:
the system comprises a creating module, a storage module and a processing module, wherein the creating module is used for creating a Monorepo-based program development project, the program development project comprises a plurality of sub-projects stored in a preset storage space, each sub-project has a sub-project name and a version number, and the sub-project name is unique in the Monorepo program development project;
the updating module is used for responding to the code modification and updating the version number of the corresponding sub-item;
the judging module is used for comparing the version number of the updated sub-item with the version number of the corresponding sub-item in the preset storage space;
and the processing module is used for packing and compiling the updated sub-items and storing the packed and compiled sub-items in the preset storage space if the version number of the updated sub-items is different from the version number of the corresponding sub-items in the preset storage space.
11. A computer device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the monolithic code warehouse Monosphere based program development project management method of any of claims 1 to 9.
12. A non-transitory computer readable storage medium storing computer instructions for causing a computer to execute the monolithic code warehouse based program development project management method of any one of claims 1 to 9.
CN202111389747.7A 2021-11-19 2021-11-19 Program development project management method and device based on monolithic code warehouse Monorepo Pending CN114089965A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111389747.7A CN114089965A (en) 2021-11-19 2021-11-19 Program development project management method and device based on monolithic code warehouse Monorepo

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111389747.7A CN114089965A (en) 2021-11-19 2021-11-19 Program development project management method and device based on monolithic code warehouse Monorepo

Publications (1)

Publication Number Publication Date
CN114089965A true CN114089965A (en) 2022-02-25

Family

ID=80303012

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111389747.7A Pending CN114089965A (en) 2021-11-19 2021-11-19 Program development project management method and device based on monolithic code warehouse Monorepo

Country Status (1)

Country Link
CN (1) CN114089965A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114461205A (en) * 2022-04-13 2022-05-10 杭州比智科技有限公司 Data visualization platform and component management method suitable for data visualization platform

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114461205A (en) * 2022-04-13 2022-05-10 杭州比智科技有限公司 Data visualization platform and component management method suitable for data visualization platform

Similar Documents

Publication Publication Date Title
US10990365B2 (en) Container image building using dependency container images
US9940108B2 (en) Automated merging in a software development environment
US8010962B2 (en) Infrastructure for the automation of the assembly of schema maintenance scripts
US8793654B2 (en) Method and a system for generating a software product
US10496401B2 (en) Managing rename of tables and table fields
US9542173B2 (en) Dependency handling for software extensions
US20070234328A1 (en) File handling for test environments
CN112214221B (en) Method and equipment for constructing Linux system
US9658845B2 (en) Generating a where-used objects list for updating data
US11099837B2 (en) Providing build avoidance without requiring local source code
CN114089965A (en) Program development project management method and device based on monolithic code warehouse Monorepo
US9395977B2 (en) Locating program code units after software refactoring
CN113515303B (en) Project transformation method, device and equipment
US8370830B2 (en) Data only solution package
CN111240987B (en) Method and device for detecting migration program, electronic equipment and computer readable storage medium
CN113792026B (en) Method and device for deploying database script and computer-readable storage medium
CN108304184B (en) Compiling method and device
US9389851B1 (en) System and method for providing consistency between software library repositories
CN113986237A (en) Method and device for creating Jenkins compiling task
CN110321138B (en) Program updating and migration method and device
CN112559444A (en) SQL (structured query language) file migration method and device, storage medium and equipment
CN113849181A (en) Cross compiling tool chain construction method and device, electronic equipment and storage medium
CN116149707B (en) Method and device for detecting and avoiding upgrading risk of distributed system
CN113127059A (en) AAR file measuring method, device, electronic equipment and storage medium
Martin Creating an Operator with Kubebuilder

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination