Method and system for managing and controlling research and development process, electronic equipment and storage medium
By configuring business models, code libraries and product libraries in the Devops system, generating and managing assembly lines, the traditional R&D management platform's lack of R&D process management capabilities has been solved, and the management efficiency and User experience.
Patent Information
- Application Number
- CN202411326339.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-23
- Publication Date
- 2024-12-20
AI Technical Summary
The traditional R&D management platform has insufficient R&D process management capabilities, resulting in reduced management efficiency, fragmented sense of use, cumbersome authority configuration, unfriendly traceability, lack of control based on R&D stage, resulting in unclear testing and production release processes, which are prone to overstep authority Operational problems.
In the Devops R&D system, the business model is selected based on the business type, the code library and product library are created, the release pipeline is generated, and the attributes of the development, testing and release stages are configured separately, including role attributes, source types and target strategies, and the release is integrated through the pipeline. code and configure access control rules at each stage to ensure code quality and permission control.
It realizes the three-layer system management of Devops tool resources, and one configuration takes effect globally, improves management efficiency, provides customized R&D process control in multiple business scenarios, and supports flexible configuration and full-process traceability.
Smart Images

Figure CN119166121A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of controlling a research and development process, and in particular to a method, system, electronic device and storage medium for controlling a research and development process. Background Art
[0002] Since 1996, the Internet industry has developed rapidly. In order to cope with the growing market demand and application delivery pressure, the DevOps concept was proposed. With the popularity of automation tools such as Jenkins, Puppet, Chef, and Ansible, as well as the rise of cloud computing services, the implementation of DevOps has become easier and more feasible. By the mid-to-late 2010s, DevOps had become the consensus and standard practice of most IT organizations.
[0003] Traditional R&D management platforms integrate a series of DevOps automation tools, divide different functional modules into different menus, and meet the needs of managing code, products, and releases on the same platform. Support relatively simple CI (continuous integration) / CD (continuous deployment) scenarios.
[0004] Since each function is split into module menus for independent use, the sense of use is fragmented; the configuration of permissions for each module is cumbersome: for example, permissions for code, products, and pipelines; since all operations are completed by automated scripts, tracing the source is not friendly to beginners; the lack of control based on the R&D stage results in unclear testing and production release processes and unauthorized operations. Therefore, traditional R&D management platforms lack R&D process management capabilities, which ultimately leads to reduced management and R&D efficiency. Summary of the invention
[0005] In view of the shortcomings existing in the above problems, the present invention provides a method, system, electronic device and storage medium for controlling the R&D process.
[0006] To achieve the above object, the present invention provides a method for controlling the R&D process, comprising:
[0007] Based on the business type, a business system corresponding to the business model is selected in the Devops R&D system, and the business system includes at least two applications;
[0008] The business system creates a code library and a product library based on DevOps resource basic data, and assigns corresponding persons in charge to the code library and the product library respectively;
[0009] The application is associated with the code library and the artifact library respectively, and the application generates a release pipeline;
[0010] The application release pipeline includes a development phase, a testing phase, and a release phase;
[0011] Configuring attributes for the development phase, the testing phase, and the release phase respectively, wherein the attributes include role attributes, source type, target strategy, and target branch;
[0012] In the development stage, based on the source type, the target strategy and the target branch, the code developed by the R&D personnel is merged with the code to obtain a source branch;
[0013] In the testing phase, the source branch and the target branch are merged to obtain the release code;
[0014] The release code is integrated and released through the pipeline.
[0015] Preferably, corresponding management roles are configured for the development phase, the testing phase and the release phase respectively based on the role attributes.
[0016] Preferably, the source type is a prefix of a source branch, and different source branches are used in different stages of management and control, and are constrained by prefixes;
[0017] The target strategy is the selection of the target branch. The "fixed" strategy means using a fixed branch, and the "temporary" strategy means using a new branch as the target branch, and the new branch comes from the main branch.
[0018] If the target branch is of "fixed" type, the target branch is one of the existing branches in the code base. If the target branch is of "temporary" type, each time a merge occurs, a target branch named {target branch}-{serial number} is pulled out from the main branch with the target branch as the prefix.
[0019] Preferably, the release code needs to be scanned before it is released, and the scanning process verifies whether the release code complies with access control rules, and the access control rules include fatal problems equal to 0, error problems equal to 0, warning problems equal to 0, and prompt problems equal to 0.
[0020] Preferably, the next stage can be carried out only when the access control rules are passed.
[0021] Preferably, the scenario-corresponding configuration release process of a release environment includes the development phase, the testing phase and the release phase.
[0022] The present application also provides a system for controlling the R&D process, including:
[0023] A selection module is used to select a business system corresponding to a business model in the DevOps R&D system based on the business type, wherein the business system includes at least two applications;
[0024] A creation module is used for the business system to create a code library and a product library based on DevOps resource basic data, and assign corresponding persons in charge to the code library and the product library respectively;
[0025] An association module, used for the application to associate the code library and the artifact library respectively and generate a release pipeline for the application; the release pipeline of the application includes a development phase, a testing phase and a release phase;
[0026] A configuration module, used to configure attributes for the development phase, the testing phase, and the release phase, respectively, wherein the attributes include role attributes, source type, target strategy, and target branch;
[0027] A development module, used to initiate code merging of the code developed by the R&D personnel based on the source type, the target strategy and the target branch to obtain a source branch during the development phase;
[0028] A test module, used to merge the source branch and the target branch to obtain a release code during a test phase;
[0029] A publishing module is used to publish the publishing code through the pipeline integration.
[0030] The present invention also provides an electronic device, comprising at least one processing unit and at least one storage unit, wherein the storage unit stores a computer program, and when the program is executed by the processing unit, the processing unit executes the above method.
[0031] The present invention also provides a storage medium storing a computer program executable by an electronic device, and when the program runs on the electronic device, the electronic device executes the above method.
[0032] Compared with the prior art, the present invention has the following beneficial effects:
[0033] The universal three-layer system of the present invention manages all DevOps tool resources, with one-place configuration and global effectiveness, thus improving management efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Figure 1 It is a flow chart of the method for controlling the research and development process of the present invention. DETAILED DESCRIPTION
[0035] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0036] Reference Figure 1 The present invention provides a method for controlling a research and development process, comprising:
[0037] Based on the business type, select the business system of the business model in the DevOps R&D system. The business system includes at least two applications.
[0038] The business system creates a code library and artifact library based on DevOps resource basic data, and assigns corresponding persons in charge to the code library and artifact library respectively;
[0039] The application associates the code repository and artifact repository separately and generates and releases the pipeline;
[0040] The application release pipeline includes the development phase, the testing phase, and the release phase;
[0041] Configure properties for the development phase, testing phase, and release phase respectively. The properties include role attributes, source type, target strategy, and target branch.
[0042] In the development phase, based on the source type, target strategy, and target branch, the code developed by the R&D personnel is merged to obtain the source branch;
[0043] In the testing phase, the source branch and the target branch are merged to obtain the release code;
[0044] The release code is integrated and released through the pipeline.
[0045] The present invention is implemented as an additional plug-in for the DevOps R&D system, mainly involving code management, product management and process management. The present invention is mainly divided into two aspects: forward control and reverse tracing. The design subject of the forward control model is "system"-"application"-"R&D stage"; the reverse tracing aspect is implemented by "building instance" plus "metadata". The R&D stage includes the development stage, the testing stage and the release stage.
[0046] Specifically, "system" - "application" is the product of combining the characteristics of the tool usage level. The system is the parent of the application, and there can be multiple applications under one system; when a new "system" is created, the system code (sysCode) is used as the naming specification to automatically create the code library and artifact library; "application" manages the code library and CI / CD pipeline. In this way, all resources can be managed by dividing the system, including assigning permissions to the code, pipeline, and artifact library under the system in the form of message notifications when adding member roles to the system; permissions can also be assigned through applications, which are more fine-grained permission controls; the deployment of related sub-applications can also be triggered through the system.
[0047] The system automatically creates code groups and artifact libraries:
[0048] Fill in the name, number, and person in charge through the web form
[0049] The backend program will record the business model "system" in the management and control system, and record two tasks: creating a code library and creating a product library
[0050] Schedule consumption tasks, use the "system" name as the code base name, and the system code as the code base path to create a code base by calling the gitlab api.
[0051] For scheduled consumption tasks, use the system code as the project name of harbor to create a product warehouse, and use the system code as the warehouse name of nexus to create a product warehouse.
[0052] The responsible person is added to the code base and artifact library through the "platform-component" role relationship.
[0053] In this embodiment, the "R&D stage" is a control model under "application". The entire "R&D stage" consists of stages, stage custom attributes, and stage environments, providing flexible custom constraint means. In this way, different teams can have different R&D stages and different stage contents through stage custom panel configuration.
[0054] Specifically, "stage" is a management and control model under "application", and each application has different stages. Use the web process definer to configure the name and sequence of the "development stage", and use the API to build the association between "application" and "stage" to plan the release stage of the application. For example, if there is only one release environment, you only need to configure one "development stage". If there is a development-test-release process, configure three stages: "development stage" - "test stage" - "release stage".
[0055] Customize the process for each stage: define the permissions for the stage. When the stage card is opened, the next stage can only be operated after all the contents of the current stage are passed. The stage contents defined by the web drag and drop process include:
[0056] Stage permissions: There are two attributes: operable role and viewable role. The role option is the role of the "application" layer. The permissions of the "R&D stage" are controlled through the "application" role.
[0057] Branch Merger: It has three properties: source type, target strategy, and target branch. It controls and constrains the source and target branches of branch merges in the development and testing phases.
[0058] Source Type: The prefix of the source branch. Through the "R&D Stage"-"Source Type" association relationship, different source branches are used in different stages to control and constrain them through prefixes.
[0059] Target strategy: selection of target branch. The "fixed" strategy means using a fixed branch, and the "temporary" strategy means using a new branch as the target branch, and the new branch originates from the main branch.
[0060] Target branch: If the target branch is of "fixed" type, the target branch is one of the existing branches in the code base. If the target branch is of "temporary" type, each time a merge occurs, a target branch named {target branch}-{serial number} is pulled out from the main branch with the target branch as the prefix.
[0061] In this embodiment, by configuring the scanning scheme, access control rules, and whether the card point is added in the stage, and building the association relationship between "stage" and "scanning information" through the API, the scanning result is used to control whether the next "development stage" can be executed.
[0062] Scanning scheme: built-in scanning scheme options, integrating sonarquber's own scanning rules, as well as plug-in rules such as pmd, findbug, checkstyile, etc. into scanning schemes such as java, c, python, js, go, etc.;
[0063] Access control rules: indicators include fatal problems equal to 0, error problems equal to 0, warning problems equal to 0, and prompt problems equal to 0;
[0064] Set card point: switch option. When card point is turned on, the next stage can be operated only when the access control is scanned and passed in the current stage.
[0065] Pipeline: Integrate the pipeline on Jenkins, select the pipeline through Jenkins' pai, and establish the association between "stage" and "pipeline". The pipeline also has checkpoints, and the standard criteria are used to determine whether the pipeline runs successfully. The timer polls the pipeline build results of Jenkins and records the results in the stage "Running Instance".
[0066] Test checkpoint: Whether to enable the test checkpoint is determined by web configuration, and the relationship between "R&D stage" and "test" is recorded through API. After enabling, "upload test report" and manual approval are required before the next stage can be executed.
[0067] The configuration results use the API to build a "stage-customized process-process extension attribute" association relationship.
[0068] Configure environmental resources: The artifact library and environment in the system, and the pipeline in the application are all scoped data, that is, one system / application corresponds to multiple components. In the R&D stage, accurate data is required to abstract information such as the artifact library, pipeline, and container cluster into resources, and build a one-to-one relationship between the stage and resources.
[0069] Management and control constraints: API interceptor, through the relationship of "application role-R&D stage role-stage customization-extended attribute", controls the access rights of the interface. It consists of role interception and process card point interception. The role is responsible for permission control, and the process card point is responsible for all process queue card points in the current stage. Resource filler, through the relationship of "R&D stage-stage resource-resource extended attribute", fills and constrains the resource options of the release process.
[0070] In this embodiment, all metadata before each CI / CD is recorded through the "Build Instance" business model, including process instances, variables, and R&D phase configurations. The "Metadata Cache" business model is added to record the information generated during the CI / CD process, and all metadata is merged in the form of a queue when the product is generated. The information collected by the API is processed into JSON and merged, and finally the integrated information and configuration can be reversely traced through the "metadata".
[0071] The method of the present invention can realize customized R&D process control in multiple business scenarios, with the following main advantages: the universal three-layer system manages all DevOps tool resources, one-stop configuration, global effectiveness, and improved management efficiency. The "R&D stage" adopts a vertical expansion table design to support flexible configuration and multi-scenario R&D empowerment. The whole process supports customized metadata, which can be traced while being controlled.
[0072] Example 1
[0073] Used to control R&D resource permissions
[0074] Take the commonly used system control product library warehouse, assembly line, and code library permissions as an example:
[0075] Extract the basic data of Devops resources, including code base A, product warehouse B; pipeline A, pipeline B; code base A, code base B; user A, user B.
[0076] Build a unified management system, named: R&D Management System, and associate product warehouse A and product warehouse B.
[0077] Construct sub-applications under the R&D management system, Application 1 and Application 2; Application 1 is associated with code base A, associated with pipelines A and B; Application 2 is associated with code base B.
[0078] Authorize user A as the "Administrator" role of the R&D management system; grant user B the ordinary member role of application 1.
[0079] Finally, user A has the authority to manage all resources in the system; user B only has the authority to access code base A and pipelines A and B associated with application 1.
[0080] Example 2
[0081] To control the development process
[0082] Take DevOps process management in the financial industry as an example:
[0083] The head of the R&D department split the planning software system and built the system "core system" and application 1 "counter application" and application 2 "payment application" respectively;
[0084] The system manager builds the "system" to manage the artifact library and environmental resources; in addition to the default artifact library, a new "test artifact library" - "production artifact library" is added.
[0085] The system manager configures the three "R&D stages" of "counter application" and "payment application": "development stage" - "testing stage" - "release stage".
[0086] The system owner configures the stage properties.
[0087] Development stage: The role is R&D or above; the branch merge is in development mode, the source is configured as the "feature-" functional branch, the merge strategy is a temporary strategy, and the target branch is dev; security and quality inspection is turned off; the test function is turned off, the artifact library is the development artifact library, and the pipeline checkpoints are turned on. The next stage can only be executed after the pipeline runs successfully.
[0088] Testing phase: The operation roles are tester and application manager; branch merging is controlled mode, the source is configured as "feature-, dev-", the branch strategy is a fixed score, and the functional branch target branch is test-{version number}; the java-p3c scanning solution is configured, the card point rules are configured, and the scanning card points are enabled; the test card points are configured to be enabled.
[0089] Pre-release stage: The operation role is the application owner; the branch merge is code approval, the source configuration "test-" branch strategy is a fixed score, and the target branch is master; configure the release pipeline.
[0090] The system owner adds "system"-"application" members and assigns roles.
[0091] After the R&D personnel submit the functional development code, they initiate code merging in the "R&D stage". The system constraints source can only be a branch of the "feature-" type; and the target branch is a temporary branch. If the source branch remains unchanged, the target branch is always dev-1. Finally, it is released through pipeline integration.
[0092] After the R&D personnel pass the self-test, they proceed to the next stage, the "testing stage". R&D personnel continue to merge the released functional branches. At this time, the constraint sources are "feature-" or "dev-", and the target branch constraint is test-1.0.0.
[0093] Initiate code scanning, scan the "application" associated code through sonaquber, and verify whether it complies with the access control configuration during the scanning phase. System control must pass code scanning during the testing phase to improve quality.
[0094] After passing the code scanning and pipeline release, the tester intervenes in the test and uploads the test report after the test is completed. The system constrains that the code scanning and test report must be passed in the "testing phase" before the "release phase" can be executed.
[0095] Only application administrators can operate. In the "release stage", code is merged. The target branch is constrained to "master", and the source branch can be a branch set prefixed with "test-". It is released through pipeline integration.
[0096] The present application also provides a system for controlling the R&D process, including:
[0097] The selection module is used to select the business system corresponding to the business model in the DevOps R&D system based on the business type. The business system includes at least two applications;
[0098] Create a module for the business system to create a code library and artifact library based on DevOps resource basic data, and assign corresponding persons in charge to the code library and artifact library respectively;
[0099] The association module is used to associate the code library and the artifact library with the application and generate the release pipeline; the application release pipeline includes the development phase, the testing phase and the release phase;
[0100] Configuration module, used to configure properties for development, testing, and release stages, including role attributes, source type, target strategy, and target branch;
[0101] The development module is used to initiate code merging of the code developed by the R&D personnel to obtain the source branch based on the source type, target strategy and target branch during the development phase;
[0102] The test module is used to merge the source branch and the target branch to obtain the release code during the test phase;
[0103] The release module is used to release the release code through pipeline integration.
[0104] The present invention also provides an electronic device, comprising at least one processing unit and at least one storage unit, wherein the storage unit stores a computer program, and when the program is executed by the processing unit, the processing unit executes the above method.
[0105] The present invention also provides a storage medium storing a computer program executable by an electronic device. When the program runs on the electronic device, the electronic device executes the above method.
[0106] The above are only preferred embodiments of the present invention and are not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A method for controlling a research and development process, characterized in that: include: Based on the business type, a business system corresponding to the business model is selected in the Devops R&D system, and the business system includes at least two applications; The business system creates a code library and a product library based on DevOps resource basic data, and assigns corresponding persons in charge to the code library and the product library respectively; The application is respectively associated with the code library and the artifact library and the application generates a release pipeline; The application release pipeline includes a development phase, a testing phase, and a release phase; Configuring attributes for the development phase, the testing phase, and the release phase respectively, wherein the attributes include role attributes, source type, target strategy, and target branch; In the development stage, based on the source type, the target strategy and the target branch, the code developed by the R&D personnel is merged with the code to obtain a source branch; In the testing phase, the source branch and the target branch are merged to obtain the release code; The release code is integrated and released through the pipeline.
2. The method for controlling the R&D process according to claim 1, characterized in that: Based on the role attributes, corresponding management roles are configured for the development phase, the testing phase, and the release phase respectively.
3. The method for controlling the R&D process according to claim 2, characterized in that: The source type is the prefix of the source branch. Different source branches are used in different stages of management and control, and the prefix is used to constrain; The target strategy is the selection of the target branch. The "fixed" strategy means using a fixed branch, and the "temporary" strategy means using a new branch as the target branch, and the new branch comes from the main branch; If the target branch is of "fixed" type, the target branch is one of the existing branches in the code base. If the target branch is of "temporary" type, each time a merge occurs, a target branch named {target branch}-{serial number} is pulled out from the main branch with the target branch as the prefix.
4. The method for controlling the R&D process according to claim 3, characterized in that: Before releasing the release code, it is also necessary to scan the release code. The scanning process verifies whether the release code complies with the access control rules. The access control rules include fatal problems equal to 0, error problems equal to 0, warning problems equal to 0, and prompt problems equal to 0.
5. The method for controlling the R&D process according to claim 4, characterized in that: The next stage can only be carried out if the access control rules are passed.
6. The method for controlling the R&D process according to claim 5, characterized in that: The configuration release process corresponding to a scenario of a release environment includes the development phase, the testing phase and the release phase.
7. A system for controlling the R&D process, characterized in that: include: A selection module is used to select a business system corresponding to a business model in the DevOps R&D system based on the business type, wherein the business system includes at least two applications; A creation module is used for the business system to create a code library and a product library based on DevOps resource basic data, and assign corresponding persons in charge to the code library and the product library respectively; An association module, used for the application to associate the code library and the artifact library respectively and generate a release pipeline for the application; the release pipeline of the application includes a development phase, a testing phase and a release phase; A configuration module, used to configure attributes for the development phase, the testing phase, and the release phase, respectively, wherein the attributes include role attributes, source type, target strategy, and target branch; A development module, used to initiate code merging of the code developed by the R&D personnel based on the source type, the target strategy and the target branch to obtain a source branch during the development phase; A test module, used to merge the source branch and the target branch to obtain a release code during a test phase; A publishing module is used to publish the publishing code through the pipeline integration.
8. An electronic device, characterized in that: The method comprises at least one processing unit and at least one storage unit, wherein the storage unit stores a computer program, and when the program is executed by the processing unit, the processing unit executes the method according to any one of claims 1 to 6.
9. A storage medium, characterized in that: It stores a computer program executable by an electronic device. When the program runs on the electronic device, the electronic device executes the method according to any one of claims 1 to 6.
Citation Information
Cited By
Railway application software research and development process management method
CN120045164A
Electronic apparatus, code managing method thereof, and non-transitory computer-readable recording medium comprising a computer program for performing the method
TWI943441B
