Component-based project management method and device, equipment and storage medium
By adopting a component-based project management method in iOS development and using target script files to automatically build and package project projects, it solves the problems of high threshold for using existing automation tools and insufficient automation, and achieves more efficient and convenient project management. .
Patent Information
- Application Number
- CN202411292188.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-14
- Publication Date
- 2025-01-24
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The existing automation tools require high professional level of developers in iOS development. The writing and understanding of configuration files requires certain experience and skills, which leads to a high threshold for use and insufficient automation, which increases project maintenance costs and is prone to configuration. Error or inconsistency.
The component -based project management method is adopted, and the module, component deployment module, and automatic packaging module are used to import components through target script files to achieve automatic construction and automatic packaging of project engineering. This method includes the creation of the main project and the introduction of the target script file. The component is obtained to build the instruction to draw the component template from the software warehouse, deploy component engineering, and automatically packaged into a target installation package after development.
It reduces the complexity of project management, improves development efficiency, simplifies the project configuration operation, reduces the errors of manual settings, and improves the convenience of project management.
Smart Images

Figure CN119356726A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of project management, and in particular to a component-based project management method, device, equipment, and storage medium. Background Art
[0002] In iOS development, automated creation of project files refers to the use of scripts or tools to generate various configuration files and directory structures required for Xcode projects. These files include project configuration files (such as .xcodeproj, Info.pl ist), dependency management files (such as Podfile for managing third-party libraries using CocoaPods), code templates, etc. By automating the creation of project files, you can quickly start new projects, ensure project consistency, and reduce errors caused by manual settings. Automated packaging is the process of compiling, signing, and generating deployable files (such as .ipa files) for applications. Xcode provides a build system and command line tools that can perform packaging operations manually, but in order to improve efficiency and ensure consistency, development teams usually use automated tools.
[0003] However, existing automation tools require developers to have a high level of professionalism. For example, the Fastlane tool requires certain experience and skills to write and understand configuration files, which is not friendly to novice developers. As the project continues to develop, the configuration files may need to be updated and adjusted frequently, which will undoubtedly increase the maintenance cost of the project and easily cause configuration errors or inconsistencies, leading to problems in the packaging process. Therefore, the existing automation tools have a high threshold for use and are not sufficiently automated. Summary of the invention
[0004] The present invention aims to solve at least one of the technical problems existing in the prior art. To this end, the present invention proposes a component-based project management method, device, equipment, and storage medium, which can realize automatic construction and automatic packaging of project engineering based on component templates, reduce the complexity of project management, and improve development efficiency.
[0005] In a first aspect, an embodiment of the present invention provides a component-based project management method, including:
[0006] Create a main project of the first project, and import a preset target script file into the main project, wherein the target script file is provided with a component pulling module, a component deployment module, and an automatic packaging module;
[0007] When a component building instruction is obtained, the component pulling module is called to pull a first component template from a software warehouse, wherein the component building instruction is used to indicate a functional requirement of the first project, the software warehouse is preset with a plurality of candidate component templates, and each of the candidate component templates records a code template of at least one functional component;
[0008] Based on the component deployment module, determine the target node where the first component template is located in the project directory of the main project, and deploy the first component project based on the first component template in the target node, wherein the project directory includes a plurality of project nodes, and each of the project nodes is associated with at least one of the functional components;
[0009] When the automatic packaging instruction is obtained, the main project and each of the first component projects are packaged into a target installation package of the first project through the automatic packaging module.
[0010] According to some embodiments of the present invention, creating a main project of a first project includes:
[0011] Associating a warehouse address in the first project, and accessing the software warehouse based on the warehouse address;
[0012] A Pod Install instruction is executed in the first project based on the warehouse address, so that the first project downloads a preset dependent library from the software warehouse and creates the main project based on the dependent library.
[0013] According to some embodiments of the present invention, the target script file further includes a component uploading module, and before creating the main project of the first project, the method further includes:
[0014] Selecting a component project to be uploaded from a plurality of second component projects of a second project, and generating the candidate component template based on the project component to be uploaded, wherein the second project is deployed with the target script file;
[0015] Acquire function description information input for the candidate component template, and associate the function description information with the candidate component template;
[0016] The component upload module is called to generate a module podspec file based on the candidate component template, and the module podspec file is uploaded to the software warehouse.
[0017] According to some embodiments of the present invention, calling the component pulling module to pull the first component template from the software warehouse includes:
[0018] Generate target description information based on the component building instruction through the component pulling module, wherein the target description information is used to describe the functional requirements of the component building instruction;
[0019] Accessing the software warehouse, matching the function description information of each candidate component template based on the target description information, and determining at least one associated component template;
[0020] Generate a visualization interface, and display all of the associated component templates and the corresponding function description information on the visualization interface;
[0021] The associated component template selected in the visualization interface is determined as the first component template.
[0022] According to some embodiments of the present invention, after deploying the first component project in the target node based on the first component template, the method further includes:
[0023] Determine the account permissions of the current login account;
[0024] When the account authority includes template editing authority and an update instruction for the first component template is obtained, an updated component template is generated based on the current first component template;
[0025] The updated component template is uploaded to the software warehouse through the component uploading module, and the corresponding candidate component template is replaced in the software warehouse.
[0026] According to some embodiments of the present invention, the target script file further includes a component configuration module, and deploying a first component project in the target node based on the first component template includes:
[0027] Deploy a template component project in the target node based on the first component template;
[0028] Through the component configuration module, the template component project is renamed based on the project description information of the first project and the node description information of the target node to obtain the first component project.
[0029] According to some embodiments of the present invention, when the automatic packaging instruction is obtained, packaging the main project and each of the first component projects into a target installation package of the first project by the automatic packaging module includes:
[0030] Injecting the automated packaging module into each first component project;
[0031] When the automatic packaging instruction is obtained, the automatic packaging module calls the automatic packaging modules in the first component projects one by one based on the project directory to package each of the first component projects into a corresponding component project package;
[0032] Packing all the component engineering packages into the target installation package, and generating a version label of the target installation package;
[0033] A test ipa package, a pre-production ipa package and a production ipa package are constructed based on the target installation package, and the test ipa package, the pre-production ipa package and the production ipa package are uploaded to the IOS server.
[0034] In a second aspect, an embodiment of the present invention provides a component-based project management device, comprising at least one control processor and a memory for communicating with the at least one control processor; the memory stores instructions executable by the at least one control processor, and the instructions are executed by the at least one control processor so that the at least one control processor can execute the component-based project management method as described in the first aspect above.
[0035] In a third aspect, an embodiment of the present invention provides an electronic device, comprising the component-based project management device as described in the second aspect above.
[0036] In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium storing computer-executable instructions, wherein the computer-executable instructions are used to execute the component-based project management method as described in the first aspect above.
[0037] According to the component-based project management method of the embodiment of the present invention, there are at least the following beneficial effects: creating a main project of a first project, importing a preset target script file into the main project, wherein the target script file is provided with a component pulling module, a component deployment module and an automatic packaging module; when a component building instruction is obtained, calling the component pulling module to pull a first component template from a software warehouse, wherein the component building instruction is used to indicate the functional requirements of the first project, the software warehouse is preset with a plurality of candidate component templates, each of which records a code template of at least one functional component; based on the component deployment module, determining a target node where the first component template is located in the project directory of the main project, deploying a first component project based on the first component template in the target node, wherein the project directory includes a plurality of project nodes, each of which is associated with at least one functional component; when an automatic packaging instruction is obtained, the main project and each of the first component projects are packaged into a target installation package of the first project through the automatic packaging module. According to the technical solution of the embodiment of the present invention, the first component template that meets the development requirements can be pulled from the software warehouse by using the target script file, and the first component project can be automatically built under the main project of the first project, thereby realizing the automatic deployment of the code template and being able to automatically package the component project into a target installation package after the development is completed, thereby reducing the complexity of project management, improving development efficiency and increasing the convenience of project management. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] Figure 1 is a schematic diagram of a development system provided by an embodiment of the present invention;
[0039] Figure 2 is a flowchart of a component-based project management method provided by another embodiment of the present invention;
[0040] Figure 3 is a complete flow chart of a component-based project management method provided by another embodiment of the present invention;
[0041] Figure 4 It is a structural diagram of a component-based project management device provided by another embodiment of the present invention. DETAILED DESCRIPTION
[0042] Embodiments of the present invention are described in detail below, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present invention, and cannot be understood as limiting the present invention.
[0043] In the description of the present invention, it should be understood that descriptions involving orientations, such as up, down, front, back, left, right, etc., and orientations or positional relationships indicated are based on the orientations or positional relationships shown in the accompanying drawings, and are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be understood as a limitation on the present invention.
[0044] In the description of the present invention, "several" means one or more, "more" means more than two, "greater than", "less than", "exceed" etc. are understood as not including the number itself, and "above", "below", "within" etc. are understood as including the number itself. If there is a description of "first" or "second", it is only used for the purpose of distinguishing the technical features, and cannot be understood as indicating or implying the relative importance or implicitly indicating the number of the indicated technical features or implicitly indicating the order of the indicated technical features.
[0045] In the description of the present invention, unless otherwise clearly defined, terms such as setting, installing, connecting, etc. should be understood in a broad sense, and technicians in the relevant technical field can reasonably determine the specific meanings of the above terms in the present invention based on the specific content of the technical solution.
[0046] The embodiment of the present invention provides a component-based project management method, device, equipment, and storage medium, wherein the component-based project management method includes: creating a main project of a first project, importing a preset target script file into the main project, wherein the target script file is provided with a component pulling module, a component deployment module, and an automatic packaging module; when a component building instruction is obtained, calling the component pulling module to pull a first component template from a software warehouse, wherein the component building instruction is used to indicate the functional requirements of the first project, and the software warehouse is preset with multiple candidate component templates, each of which records a code template of at least one functional component; based on the component deployment module, determining a target node where the first component template is located in a project directory of the main project, and deploying a first component project based on the first component template in the target node, wherein the project directory includes multiple project nodes, and each of the project nodes is associated with at least one functional component; when an automatic packaging instruction is obtained, the main project and each of the first component projects are packaged into a target installation package of the first project through the automatic packaging module. According to the technical solution of the embodiment of the present invention, the first component template that meets the development requirements can be pulled from the software warehouse by using the target script file, and the first component project can be automatically built under the main project of the first project, thereby realizing the automatic deployment of the code template and being able to automatically package the component project into a target installation package after the development is completed, thereby reducing the complexity of project management, improving development efficiency and increasing the convenience of project management.
[0047] First, refer to Figure 1 , Figure 1 This is a schematic diagram of the architecture of a development system provided in an embodiment of the present invention. The development system of this embodiment includes a development device 10, a software warehouse 20 and an IOS server 30. The development device 10 is communicatively connected to the software warehouse 20 and the IOS server 30 respectively.
[0048] It should be noted that the development device 10 can be a common computer, mobile device or other device capable of code editing.
[0049] It should be noted that the software warehouse 20 can be a common GitLab warehouse, which can communicate with the development device 10 so that the development device 10 can pull relevant template files from the software warehouse 20.
[0050] The following is based on the Figure 1 The development system shown is used to further illustrate the technical solution of the embodiment of the present invention.
[0051] Reference Figure 2 , Figure 2 A flowchart of a component-based project management method provided in an embodiment of the present invention includes but is not limited to the following steps:
[0052] S10, creating a main project of the first project, and importing a preset target script file into the main project, wherein the target script file is provided with a component pulling module, a component deployment module, and an automatic packaging module;
[0053] S20, when a component building instruction is obtained, calling a component pulling module to pull a first component template from a software warehouse, wherein the component building instruction is used to indicate a functional requirement of the first project, and the software warehouse is preset with a plurality of candidate component templates, each candidate component template records a code template of at least one functional component;
[0054] S30, based on the component deployment module, determining a target node where the first component template is located in a project directory of the main project, and deploying the first component project in the target node based on the first component template, wherein the project directory includes a plurality of project nodes, and each project node is associated with at least one functional component;
[0055] S40, when the automatic packaging instruction is obtained, the main project and each first component project are packaged into a target installation package of the first project through the automatic packaging module.
[0056] It should be noted that after creating the main project of the first project in the development device, this embodiment imports the target script file into the main project. The target script file is a pre-set file, and the target script file includes a component pulling module, a component deployment module and an automatic packaging module. Among them, the component pulling module is used to access the software warehouse and pull the template, the component deployment module is used to deploy the pulled template to the specified location of the main project, and the automatic packaging module is used to inject each deployed first component project so that each first component project has a separate packaging function. The component deployment and component packaging in the development process are realized through the target script file, which saves the developer's related deployment and packaging work. The developer does not need to perform complex file configuration operations, but only needs to perform related code development in the deployed first component project, thereby simplifying the project configuration operations in the development process.
[0057] It should be noted that the software repository can be a GitLab repository, in which multiple candidate component templates are pre-set, each candidate component template corresponds to a code template of at least one functional component, and the code template can be used by different projects. When building different project main projects, different candidate component templates can be downloaded according to actual needs, thereby improving the efficiency of engineering components.
[0058] It should be noted that IOS development is usually carried out in the form of a group. After the manager creates the main project of the first project, he or she usually sets up a project directory for the main project. The project directory includes multiple project nodes. Each developer is responsible for the functional development of one or more project nodes, and describes the corresponding functions to be developed in each project node, so that developers can determine the specific development requirements based on the project nodes, thereby pulling the corresponding first component template.
[0059] It should be noted that the target script file can be pre-set in the development device. Therefore, in this embodiment, the manager can import the target script file in the main project, and each developer can initiate a component construction instruction in their respective development devices according to the project node they are responsible for, thereby calling the component pull module to pull the first component template of their respective needs, and calling the component deployment module at the corresponding target node to deploy the first component template. The component construction instruction can be a requirement description of the candidate component template. Each developer at least knows the functions to be implemented in each project node, and can pull the candidate component template corresponding to the corresponding function from the software template according to the functions to be implemented.
[0060] For example, Figure 1As shown, the main project includes project node A and project node B. Developer A develops project node A, and developer B develops project node B. After the manager creates the main project of the first project and imports the target script file, developer A initiates a component build instruction, indicating that function A is to be developed for project node A. The main project calls the component pull module to pull component template A corresponding to function A from the software warehouse as the first component template, and deploys component project A as the first component project through the component deployment module; developer B initiates a component build instruction, indicating that function B is to be developed for project node B. The main project calls the component pull module to pull component template B corresponding to function B from the software warehouse as the first component template, and deploys component project B as the first component project through the component deployment module.
[0061] It should be noted that after building the first component project, this embodiment injects the automated packaging module into each first component project respectively. After each developer completes the development of his or her respective target node, the manager initiates an automated packaging instruction in the main project of the first project, and packages each first component project through the automated packaging module, and then packages the entire project into a target installation package. Developers do not need to perform complicated packaging operations, which are automatically completed by the target script file, effectively improving the efficiency of project management.
[0062] In addition, in one embodiment, referring to Figure 3 Step S10 specifically includes but is not limited to the following steps:
[0063] S11, associating the warehouse address in the first project, and accessing the software warehouse based on the warehouse address;
[0064] S12, executing a Pod Install instruction in the first project based on the warehouse address, so that the first project downloads a preset dependent library from the software warehouse and creates a main project based on the dependent library.
[0065] It should be noted that the software warehouse in this embodiment can be a GitLab warehouse, so the corresponding warehouse address can be associated in the first project, so that different main projects can access the software warehouse according to the warehouse address after they are created, so that multiple projects can share the same software warehouse.
[0066] It should be noted that a template project library can be set up in the GitLab repository, and different candidate project templates and dependent libraries can be preset in the template project library. The number of dependent libraries can be arbitrary. Those skilled in the art are familiar with the definition and configuration of dependent libraries, and no further limitation is made here. After the first project is created, when the Pod Install instruction is executed, all specified dependent libraries are pulled from the GitLab repository according to the configuration information of the first project, and then a new Xcode workspace is created as the main project, and all dependent libraries are referenced in the main project to realize the automatic creation of the main project.
[0067] In addition, in one embodiment, referring to Figure 3 The target script file also includes a component upload module, and before executing step S10, it also includes but is not limited to the following steps:
[0068] S01, selecting a component project to be uploaded from a plurality of second component projects of a second project, and generating a candidate component template based on the project component to be uploaded, wherein the second project deploys a target script file;
[0069] S02, obtaining function description information input for the candidate component template, and associating the function description information with the candidate component template;
[0070] S03, calling the component upload module to generate a module podspec file based on the candidate component template, and uploading the module podspec file to the software warehouse.
[0071] It should be noted that, according to the description of the above embodiment, the main project of any project can import the target script file. Therefore, after completing the development of the component project, each project can create a new candidate component template, so that other projects can share the candidate component template from the software repository, thereby improving the shareability of the template and reducing duplicate development.
[0072] It should be noted that the first project and the second project are different projects, so the main project of the second project also includes multiple second component projects, each of which corresponds to a project node. However, when constructing the candidate component template, there is no need to consider the corresponding project node, that is, the candidate component template and the project node in this embodiment are decoupled. The second project can construct a candidate component template based on the component project of any project node, and the first project can pull any candidate component target at any project node according to functional requirements to construct the first component project, thereby realizing the componentized custom configuration of the project project and improving the flexibility of project management.
[0073] It should be noted that after the second project generates the candidate component template, in order to ensure the convenience and accuracy of other project selections, the manager can enter the functional description information of the candidate component template created this time in the development device, and then call the component upload module to generate the module podspec file, and upload the module podspec file to the software warehouse. The software warehouse can save the module podspec file as a template file according to the file type of the module podspec file.
[0074] In addition, in one embodiment, referring to Figure 3 In step S20, the component pulling module is called to pull the first component template from the software warehouse, which specifically includes but is not limited to the following steps:
[0075] S21, generating target description information based on the component building instruction through the component pulling module, wherein the target description information is used to describe the functional requirements of the component building instruction;
[0076] S22, accessing the software warehouse, matching the functional description information of each candidate component template based on the target description information, and determining at least one associated component template;
[0077] S23, generating a visualization interface, and displaying all associated component templates and corresponding functional description information on the visualization interface;
[0078] S24, determining the associated component template selected in the visualization interface as the first component template.
[0079] It should be noted that, according to the description of the above embodiment, the component build instruction is created by the developer according to the functional requirements of the project node. Therefore, the target description information can be created according to the functional requirement information carried in the component build instruction. For example, the target description information can be used to record that the component created this time needs to implement function A and function B, or directly record the name of the corresponding candidate component template.
[0080] It should be noted that after determining the target description information, it can be matched with the function description information. For example, according to the function A recorded in the target description information, a candidate component template with the function description information as function A is matched. Of course, multiple candidate component templates that implement the same function can be included. For example, if they are all jump functions, component template A can realize jump after clicking, and component template B can realize jump after sending order information. In this embodiment, all matched candidate component templates are determined as associated component templates, and all associated component templates and function description information are displayed through a visual interface. Developers can select the corresponding first component template from the visual interface to ensure the accuracy of template selection in a visual form.
[0081] In addition, in one embodiment, referring to Figure 3In step S30, after the first component project is deployed in the target node based on the first component template, the following steps are also included but not limited to:
[0082] S311, determining the account authority of the current login account;
[0083] S312, when the account authority includes template editing authority and an update instruction for the first component template is obtained, an updated component template is generated based on the current first component template;
[0084] S313: Upload the updated component template to the software warehouse through the component upload module, and replace the corresponding candidate component template in the software warehouse.
[0085] It should be noted that in order to pull templates from the software warehouse, developers need to log in to their respective development accounts in the development device, log in to the main project according to the development account to carry out related development, so the account permissions of the currently logged-in account can be determined. If it is an ordinary developer account, it is not allowed to update the component template to avoid template errors caused by lack of experience. Therefore, this embodiment limits the account with template editing permissions to allow template updates. For example, the template editing permissions are configured for the administrators of the first project.
[0086] It should be noted that after the developer applies the first component template to build the first component project, if the manager wants to update the first component template, such as adding new functions, the manager can connect the first component project to the main project, update the first component template in the first project, and then initiate an update instruction, thereby triggering the component upload module to generate an updated component template and upload it to the software warehouse, replacing the corresponding candidate component template in the software warehouse, thereby realizing the update of the candidate component template.
[0087] In addition, in one embodiment, referring to Figure 3 The target script file also includes a component configuration module. In step S30, the first component project is deployed in the target node based on the first component template, specifically including but not limited to the following steps:
[0088] S321, deploying a template component project in a target node based on the first component template;
[0089] S322: rename the template component project based on the project description information of the first project and the node description information of the target node through the component configuration module to obtain a first component project.
[0090] It should be noted that after obtaining the first component template, the template component project deployed in the main project is shared content. During the software development process, the components in each project need to meet the naming rules of the project. Therefore, this embodiment further automatically modifies the configuration file of the template component project through the component configuration module, for example, renaming it according to the project description information and node description information to obtain the first component project that conforms to the first project.
[0091] In addition, in one embodiment, referring to Figure 3 Step S40 specifically includes but is not limited to the following steps:
[0092] S41, injecting the automated packaging module into each first component project;
[0093] S42, when the automatic packaging instruction is obtained, the automatic packaging module calls the automatic packaging modules in the first component projects one by one based on the project directory, and packages each first component project into a corresponding component project package;
[0094] S43, packaging all component engineering packages into a target installation package, and generating a version label of the target installation package;
[0095] S44, build a test ipa package, a pre-production ipa package and a production ipa package based on the target installation package, and upload the test ipa package, the pre-production ipa package and the production ipa package to the IOS server.
[0096] It should be noted that each first component project is injected with an automated packaging module. Therefore, after obtaining the packaging instruction, each first component project is packaged separately to obtain a component project package, and then all component project packages are packaged into the final target installation package according to the project directory, and a version label is generated for the target installation package. The version information of this installation package is identified by the version label.
[0097] For example, Figure 1 As shown, after the main project initiates the automated packaging instruction, component project A calls the automated packaging module to generate component project package A, and component project B calls the automated packaging module to generate component project package B, and then exports component project package A, component project package B and the project directory, and packages component project package A and component project package B into a target installation package based on the node topology recorded in the project directory. For example, component project package A is determined to be a subordinate file of component project package B based on the project directory.
[0098] It should be noted that the version label can be generated according to the current time information and version information, such as version A on xx / xx / xx. This embodiment does not limit the form of the version label.
[0099] It should be noted that after generating the target installation package, it is necessary to build a test ipa package, a pre-production ipa package and a production ipa package based on the target installation package, and upload them to the IOS server for verification and then open them to users for download. The specific process is a technology well known to technicians in this field and will not be elaborated here.
[0100] like Figure 4 As shown, Figure 4 : is a structural diagram of a component-based project management device provided by an embodiment of the present invention. The present invention also provides a component-based project management device, including:
[0101] The processor 401 may be implemented by a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present application;
[0102] The memory 402 can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 402 can store an operating system and other application programs. When the technical solution provided in the embodiment of this specification is implemented by software or firmware, the relevant program code is stored in the memory 402, and the processor 401 calls and executes the component-based project management method of the embodiment of this application;
[0103] Input / output interface 403, used to implement information input and output;
[0104] Communication interface 404, used to realize communication interaction between the device and other devices, which can be realized through wired mode (such as USB, network cable, etc.) or wireless mode (such as mobile network, WI FI, Bluetooth, etc.);
[0105] A bus 404 that transmits information between various components of the device (e.g., processor 401, memory 402, input / output interface 403, and communication interface 404);
[0106] The processor 401 , the memory 402 , the input / output interface 403 and the communication interface 404 are connected to each other in communication within the device via the bus 405 .
[0107] An embodiment of the present application also provides an electronic device, including the component-based project management device as described above.
[0108] An embodiment of the present application also provides a storage medium, which is a computer-readable storage medium. The storage medium stores a computer program, and when the computer program is executed by a processor, the above-mentioned component-based project management method is implemented.
[0109] As a non-transient computer-readable storage medium, the memory can be used to store non-transient software programs and non-transient computer executable programs. In addition, the memory may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage devices. In some embodiments, the memory may optionally include a memory remotely arranged relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof. The device embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and are implemented to be located in one place, or may also be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present embodiment.
[0110] It will be appreciated by those skilled in the art that all or some of the steps and systems in the disclosed method above may be implemented as software, firmware, hardware and appropriate combinations thereof. Some physical components or all physical components may be implemented as software executed by a processor, such as a central processing unit, a digital signal processor or a microprocessor, or may be implemented as hardware, or may be implemented as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on a computer-readable medium, which may include a computer storage medium (or a non-transitory medium) and a communication medium (or a temporary medium). As known to those skilled in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, disk storage or other magnetic storage devices, or any other medium that may be used to store desired information and may be accessed by a computer. Furthermore, it is well known to those skilled in the art that communication media typically include computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.
[0111] The above is a specific description of the preferred implementation of the present invention, but the present invention is not limited to the above-mentioned implementation mode. Technical personnel familiar with the field can also make various equivalent deformations or substitutions under the shared conditions without violating the spirit of the present invention. These equivalent deformations or substitutions are all included in the scope defined by the claims of the present invention.
Claims
1. A component-based project management method, characterized in that: include: Create a main project of the first project, and import a preset target script file into the main project, wherein the target script file is provided with a component pulling module, a component deployment module, and an automatic packaging module; When a component building instruction is obtained, the component pulling module is called to pull a first component template from a software warehouse, wherein the component building instruction is used to indicate a functional requirement of the first project, the software warehouse is preset with a plurality of candidate component templates, and each of the candidate component templates records a code template of at least one functional component; Based on the component deployment module, determine the target node where the first component template is located in the project directory of the main project, and deploy the first component project based on the first component template in the target node, wherein the project directory includes a plurality of project nodes, and each of the project nodes is associated with at least one of the functional components; When the automatic packaging instruction is obtained, the main project and each of the first component projects are packaged into a target installation package of the first project through the automatic packaging module.
2. The component-based project management method according to claim 1, characterized in that: Create the main project of the first project, including: Associating a warehouse address in the first project, and accessing the software warehouse based on the warehouse address; Execute a Pod Install instruction in the first project based on the warehouse address, so that the first project downloads a preset dependent library from the software warehouse and creates the main project based on the dependent library.
3. The component-based project management method according to claim 2, characterized in that: The target script file also includes a component upload module. Before creating the main project of the first project, the method also includes: Selecting a component project to be uploaded from a plurality of second component projects of a second project, and generating the candidate component template based on the project component to be uploaded, wherein the second project is deployed with the target script file; Acquire function description information input for the candidate component template, and associate the function description information with the candidate component template; The component upload module is called to generate a module podspec file based on the candidate component template, and the module podspec file is uploaded to the software warehouse.
4. The component-based project management method according to claim 3, characterized in that: Calling the component pulling module to pull the first component template from the software warehouse includes: Generate target description information based on the component building instruction through the component pulling module, wherein the target description information is used to describe the functional requirements of the component building instruction; Accessing the software warehouse, matching the function description information of each candidate component template based on the target description information, and determining at least one associated component template; Generate a visualization interface, and display all the associated component templates and the corresponding function description information on the visualization interface; The associated component template selected in the visualization interface is determined as the first component template.
5. The component-based project management method according to claim 3, characterized in that: After deploying the first component project in the target node based on the first component template, the method further includes: Determine the account permissions of the current login account; When the account authority includes template editing authority and an update instruction for the first component template is obtained, an updated component template is generated based on the current first component template; The updated component template is uploaded to the software warehouse through the component uploading module, and the corresponding candidate component template is replaced in the software warehouse.
6. The component-based project management method according to claim 1, characterized in that: The target script file also includes a component configuration module, which deploys a first component project in the target node based on the first component template, including: Deploy a template component project in the target node based on the first component template; Through the component configuration module, the template component project is renamed based on the project description information of the first project and the node description information of the target node to obtain the first component project.
7. The component-based project management method according to claim 1, characterized in that: When the automatic packaging instruction is obtained, the main project and each of the first component projects are packaged into a target installation package of the first project by the automatic packaging module, including: Injecting the automated packaging module into each first component project; When the automatic packaging instruction is obtained, the automatic packaging module calls the automatic packaging modules in the first component projects one by one based on the project directory to package each of the first component projects into a corresponding component project package; Packing all the component engineering packages into the target installation package, and generating a version label of the target installation package; A test ipa package, a pre-production ipa package and a production ipa package are constructed based on the target installation package, and the test ipa package, the pre-production ipa package and the production ipa package are uploaded to the IOS server.
8. A component-based project management device, characterized in that: It includes at least one control processor and a memory for communicating with the at least one control processor; the memory stores instructions that can be executed by the at least one control processor, and the instructions are executed by the at least one control processor to enable the at least one control processor to execute the component-based project management method as described in any one of claims 1 to 7.
9. An electronic device, characterized in that: Including the component-based project management device as described in claim 8.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable a computer to execute the component-based project management method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Method and system for deploying nodes based on component template
CN105187250A
IOS application program construction method and device, electronic equipment and storage medium
CN112882700A
Method and device for constructing project development space required by iOS application
CN115495049A
Software development method and device, equipment and storage medium
CN116954593A
Component updating method and apparatus, electronic device, and computer readable storage medium
WO2023165397A1