CN114691139A - Compiling method, device, storage medium and electronic equipment - Google Patents

Compiling method, device, storage medium and electronic equipment Download PDF

Info

Publication number
CN114691139A
CN114691139A CN202011568790.5A CN202011568790A CN114691139A CN 114691139 A CN114691139 A CN 114691139A CN 202011568790 A CN202011568790 A CN 202011568790A CN 114691139 A CN114691139 A CN 114691139A
Authority
CN
China
Prior art keywords
compiling
project
development
template
file
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
CN202011568790.5A
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.)
China Mobile Communications Group Co Ltd
China Mobile Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile 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 China Mobile Communications Group Co Ltd, China Mobile Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202011568790.5A priority Critical patent/CN114691139A/en
Publication of CN114691139A publication Critical patent/CN114691139A/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

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

Abstract

The application discloses a compiling method, a compiling device, a storage medium and electronic equipment, wherein the compiling method comprises the following steps: receiving a compiling instruction sent by a target account from a browser compiling module; and compiling the project file in a project development template according to the compiling instruction to obtain a target file, wherein the project development template is a template stored in a target container of the cloud service module, and the container is associated with the target account. According to the method, the main functions of the integrated project development are placed in the cloud service module, and the project file compiling is carried out in the project development template according to the compiling instruction sent by the browser compiling module. The unified configuration of the compiling environment can be realized, the standardized requirement of the development environment is met, and the problem that the running test results of programs developed by the desktop version integrated development environment are inconsistent on different computers is effectively solved.

Description

Compiling method, device, storage medium and electronic equipment
Technical Field
The present application relates to the field of computer technologies, and in particular, to a compiling method, an apparatus, a storage medium, and an electronic device.
Background
The development history of desktop version integrated development environment is very long, and the integrated development environment of various languages is once red for a long time, such as Delphi, JBuilder, and more popular Visual Studio, IntelliJ IDEA, Eclipse, VS Code, Xcode, etc.
The desktop version integrated development environment brings great convenience to software developers, but because different local computers have different performances, systems and desktop version integrated development environment versions, programs developed by the desktop version integrated development environment run on different computers with different test results.
Disclosure of Invention
An embodiment of the present application aims to provide a compiling method, an apparatus, a storage medium, and an electronic device, so as to at least solve a problem that a program developed in an existing desktop version integrated development environment runs test results on different computers inconsistently.
The technical scheme of the application is as follows:
according to a first aspect of embodiments of the present application, there is provided a compiling method, which may include:
receiving a compiling instruction sent by a target account from a browser compiling module;
and compiling the project file in a project development template according to the compiling instruction to obtain a target file, wherein the project development template is a template stored in a target container of the cloud service module, and the container is associated with the target account.
Further, before compiling the project file in the project development template according to the compiling instruction, the method further comprises:
matching corresponding engineering file compiling plug-ins according to the project development template;
compiling the engineering file in the project development template according to the compiling instruction to obtain a target file, and specifically comprising the following steps:
and compiling the engineering file in the project development template according to the compiling instruction and the compiling plug-in to obtain the target file.
Further, after the engineering file is compiled in the project development template according to the compiling instruction to obtain the target file, the method further comprises the following steps:
backing up the target file to obtain a backup file;
the backup file is stored.
Further, prior to receiving the compilation instruction, the method further comprises:
receiving the product specification and the development mode of the compiling project sent by the target account from the browser compiling module;
and configuring the target container according to the product specification and the development mode.
Further, configuring the target container according to the product specification and the development mode specifically includes:
and configuring the quantity of central processing units, the memory capacity and the server storage space required by the container according to the product specification and the development mode to obtain the target container.
Further, after configuring the target container according to the product specification and the development mode, before receiving the compiling instruction, the method further includes:
receiving project template selection information;
and creating a project development template in the target container according to the project template selection information.
Further, the project development template includes: one or more combinations of a project development language, a project development framework, a project development mode, and an implementation that satisfies a preset condition.
According to a second aspect of embodiments of the present application, there is provided a compiling apparatus, which may include:
the receiving module is used for receiving a compiling instruction sent by the target account from the browser compiling module;
and the execution module is used for compiling the project file in the project development template according to the compiling instruction to obtain the target file, the project development template is a template stored in a target container of the cloud service module, and the container is associated with the target account.
According to a third aspect of embodiments of the present application, there is provided an electronic apparatus, which may include:
a processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to execute the instructions to implement the compiling method as shown in any embodiment of the first aspect.
According to a fourth aspect of embodiments of the present application, there is provided a storage medium, in which instructions are executed by a processor of an information processing apparatus or a server to cause the information processing apparatus or the server to implement the compiling method shown in any one of the embodiments of the first aspect.
The technical scheme provided by the embodiment of the application at least has the following beneficial effects:
according to the method and the device, the main functions of the integrated project development are placed in the cloud service module, and the engineering files are compiled in the project development template according to the compiling instruction sent by the browser compiling module. The unified configuration of the compiling environment can be realized, the standardized requirement of the development environment is met, and the problem that the running test results of programs developed by the desktop version integrated development environment are inconsistent on different computers is effectively solved.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the application.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the application and are not to be construed as limiting the application.
FIG. 1 is a flowchart illustrating a compilation method according to an exemplary embodiment;
FIG. 2 is a diagram illustrating a compiler apparatus architecture in accordance with an exemplary embodiment;
FIG. 3 is a diagram illustrating a compilation system architecture in accordance with an illustrative embodiment;
FIG. 4 is a diagram illustrating a compilation system registration usage flow according to an exemplary embodiment;
FIG. 5 is a diagram illustrating an overall structure of a compilation system in accordance with an illustrative embodiment;
FIG. 6 is a diagram illustrating a smart project template structure, according to an exemplary embodiment;
FIG. 7 is a diagram illustrating a mirrored hierarchical inheritance structure in accordance with an illustrative embodiment;
FIG. 8 is a schematic diagram of an electronic device structure shown in accordance with an exemplary embodiment;
fig. 9 is a schematic diagram illustrating a hardware structure of an electronic device according to an example embodiment.
Detailed Description
In order to make the technical solutions of the present application better understood by those of ordinary skill in the art, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings.
It should be noted that the terms "first," "second," and the like in the description and claims of this application and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the application described herein are capable of operation in sequences other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
As shown in fig. 1, in a first aspect of embodiments of the present application, there is provided a compiling method, which may include:
step 100: receiving a compiling instruction sent by a target account from a browser compiling module;
step 300: and compiling the project file in a project development template according to the compiling instruction to obtain a target file, wherein the project development template is a template stored in a target container of the cloud service module, and the container is associated with the target account.
In some optional embodiments of the present application, prior to the engineering file compilation in the project development template according to the compilation instructions, the method further comprises:
step 200: matching corresponding engineering file compiling plug-ins according to the project development template;
compiling the engineering file in the project development template according to the compiling instruction to obtain a target file, and specifically comprising the following steps:
and compiling the engineering file in the project development template according to the compiling instruction and the compiling plug-in to obtain the target file.
In some optional embodiments of the present application, after the engineering file is compiled in the project development template according to the compiling instruction to obtain the target file, the method further includes:
step 400: backing up the target file to obtain a backup file;
step 500: and storing the backup file.
In some optional embodiments of the present application, prior to receiving the compilation instruction, the method further comprises:
receiving the product specification and the development mode of the compiling project sent by the target account from the browser compiling module;
and configuring the target container according to the product specification and the development mode.
In some optional embodiments of the present application, configuring the target container according to the product specification and the development mode specifically includes:
and configuring the quantity of central processing units, the memory capacity and the server storage space required by the container according to the product specification and the development mode to obtain the target container.
In some optional embodiments of the present application, after configuring the target container according to the product specification and the development mode, before receiving the compilation instruction, the method further comprises:
receiving project template selection information;
and creating a project development template in the target container according to the project template selection information.
In some optional embodiments of the present application, the project development template comprises: one or more combinations of a project development language, a project development framework, a project development mode, and an implementation that satisfies a preset condition.
As shown in fig. 2, in a second aspect of the embodiments of the present application, there is provided a compiling apparatus, which may include:
the receiving module is used for receiving a compiling instruction sent by the target account from the browser compiling module;
and the execution module is used for compiling the project file in the project development template according to the compiling instruction to obtain the target file, the project development template is a template stored in a target container of the cloud service module, and the container is associated with the target account.
The compiling apparatus in the embodiment of the present application may be an apparatus, and may also be a component, an integrated circuit, or a chip in a terminal. The device can be mobile electronic equipment or non-mobile electronic equipment. By way of example, the mobile electronic device may be a mobile phone, a tablet computer, a notebook computer, a palm top computer, a vehicle-mounted electronic device, a wearable device, an ultra-mobile personal computer (UMPC), a netbook or a Personal Digital Assistant (PDA), and the like, and the non-mobile electronic device may be a server, a Network Attached Storage (NAS), a Personal Computer (PC), a Television (TV), a teller machine or a self-service machine, and the like, and the embodiments of the present application are not particularly limited.
The compiling apparatus in the embodiment of the present application may be an apparatus having an operating system. The operating system may be an Android (Android) operating system, an ios operating system, or other possible operating systems, and embodiments of the present application are not limited specifically.
The compiling device provided in the embodiment of the present application can implement each process implemented in the method embodiment of fig. 1, and is not described here again to avoid repetition.
As shown in fig. 3, in a specific embodiment of the present application, a compiling system is provided, where a user logs in a system through a web portal, the system may be an SAAS IDE, a cloud IDE product is opened after registering an account, an IDE Server receives an opening order sent by a portal and then performs scheduling according to parameters in the order, finds a suitable node from an IDE Server resource pool to create a corresponding IDE Server, and after the creation is successful, the user may enter an IDE GUI to normally use various functions provided by the cloud IDE, and the specific implementation of the system ensures isolation and security of user data.
As shown in fig. 4, when a user uses a compiling system, first, the user accesses a SAAS IDE portal website to register an account, the account can be selected as an enterprise (organization) account or a personal user account in the account registration process, the user can experience SAAS IDE products after the registration is completed, the user first selects a proper IDE product specification, the product specification can be provided in a list manner, the product specification includes an experience version, a primary version, a popular version, a professional version and the like, the server resources occupied by containers corresponding to different product specifications are different, such as the number of CPUs, the memory capacity, the size of the server storage space and the like, and products of different specifications can be distinguished in terms of product characteristics. After the product specification is determined, for enterprise (organization) users, appropriate development modes can be continuously selected and basic configuration is completed, then a selection interface of a Smart Project template is entered, after a certain Project template is selected by the user, an opening button is clicked, a portal website can send an opening request to an IDE Controller, the IDE Controller schedules and creates an IDE Server instance and then returns a response, the portal website is automatically redirected to an IDE GUI interface, and the user can normally use related functions of IDE, such as writing source codes, compiling source codes, unit testing and submitting a Git code warehouse. If the user has the rules of manual or automated processes in the development mode selected at the time of activation, the IDE will automatically trigger the execution of those processes.
The IDE component is integrally divided into a front-end portion based on a browser and a back-end portion running in a container of a remote server, wherein a part of IDE plug-ins (IDE plug-ins) may exist across the front-end and need the back-end to provide corresponding data to the front-end, such as plug-ins of code prompt, code completion and code template, as shown in fig. 5, all core images related to the IDE are in a unified image library and downloaded as required. The container part at the back end comprises some IDE tool containers (IDE Tools) besides the IDE plug, the tool containers can work together with the IDE Server, the possible tool sets comprise the functions of source code backup, Docker mirror image packaging, warehouse uploading and the like, and some customized automation scripts can be used together with the automatic flow in the development mode. The development mode is pluged, more self-defined development modes are supported, a plugin market is provided, free and paid use is encouraged, the ecological circle of related sharing economy is further expanded, more excellent plugins can be generated along with the addition of more companies and personal developers, and the future SAAS version IDE can be popularized like the current sharing bicycle along with the further reduction of public cloud price, so that more people can benefit.
Optionally, the system is further provided with an intelligent Project template (Smart Project), and the intelligent Project template includes two parts: static templates and corresponding IDE Server-related series of containers at runtime, as shown in FIG. 6, wherein Smart Project templates define some important things as follows:
the development language is written by which development language, such as Java, PHP, Go, JavaScript and the like;
a standard development framework, which matched development framework(s) is (are) adopted, such as a Java-based Spring Boot, a PHP-based ThinkPHP, a JavaScript-based Vue, a Python-based Django, a Go-based Beego;
the custom library is introduced to accelerate project development, and some open source third party libraries are introduced or private libraries with certain universality are developed by themselves, such as WeChat public numbers and some code libraries related to users in an applet system, and further such as some customized CRUD basic framework codes related to a certain type of service.
Project and framework best practices bringing together best development practices recognized in the industry and best practices for a particular project in a particular field. Such as specification of project engineering directories, specification of code formats, best practices of the framework employed, and optimization of related configuration files and parameters.
A development mode suitable for the project, such as a traditional waterfall development mode, an agile development mode, a DevOps development mode, or some other customized development mode. The development mode determines key flow steps in the life cycle of the project development, when the project is successfully created, a flow engine built in the platform starts corresponding project development flow examples, and members of the whole team abide by and participate in the development flow.
The SAAS concept is introduced into the traditional IDE development environment and is realized by combining the advanced container technology, and the research and development thresholds of the original enterprises and free developers are greatly reduced by means of a resource sharing mode by relying on a low-cost public cloud environment. The Smart Project combined with the industry best development practice and expert experience further reduces the difficulty of Project development and improves the development speed and engineering quality.
In the process of scheduling and creating the IDE Server instance by the IDE Controller, which IDE Server container is generated and which IDE plug-in unit is to be installed and which assorted toolset container is instantiated are determined according to the definition of the Smart Project template and parameters such as the development mode.
When a plurality of persons jointly develop a software Project, the problem of source code security can be solved by setting a code security policy in a Project template of Smart Project, and the possible security policies are as follows:
the master mode can only check the source code compiled by the master mode;
the teammate mode is that teammates can check and modify the source codes compiled by themselves;
in the read-only mode, the codes of other people only have the read authority;
it can also be determined in a more flexible way that some accounts can only see some directories, some types or specified files, or more advanced modes, that some codes can only be seen within a specified time, and that no right can be seen when the account is expired.
The compiling system in the above embodiment has the following functional characteristics:
1. a user can independently open an account of the SAAS version IDE through a browser and use the functions of the IDE, including engineering code creation, storage, compiling and debugging, and the core functions of the IDE are packaged in a container on a cloud server.
2. Similar to specification selection when a public cloud virtual machine is opened, the platform also supports specification selection of a cloud edition IDE, and comprises four main specification parameters: CPU, GPU, memory and storage. And support charging policies, billing, and billing based on the cloud IDE specification.
3. Two tenant identities are supported: the enterprise (organization) users and the individual users, wherein the enterprise (organization) users open the function of team cooperation and support a plurality of development modes, such as an agile development mode, a traditional waterfall development mode or a DevOps development mode.
4. The method supports the expansion of more general custom development modes in a plug-in mode and the customized development modes for different tenants.
5. The method comprises the steps that a Smart Project development management technology supporting Project assembly and automatically binding a Project development life cycle and a software development mode is innovatively provided, a user firstly selects a specific Project template through the Smart Project development management technology, such as a Spring Boot based on Java, a ThinkPHP based on PHP, Vue based on JavaScript, Django based on Python and Beego based on Go, then selects a certain appropriate development mode, such as a traditional waterfall development mode, an agile development mode, a DevOps development mode or a certain self-defined development mode, a platform automatically generates a standard Project engineering file corresponding to a frame, starts a Project development flow engine corresponding to the development mode, installs and configures corresponding plugins and related tools, and reduces related complex configuration workload in the Project development process to the greatest extent, saves development time, the whole process of the project development flow is standardized, and the standardization and automation level of the project is improved to a great extent.
6. And a matched plug-in market is provided, and supported plug-ins comprise a compiling related plug-in of the cloud IDE, a plug-in of a development mode, a plug-in of a Smart Project template and the like, and the free (trial) and charge free policy combination is encouraged.
Detailed description:
SAAS IDE portal;
2. a browser-based IDE GUI;
3. IDE Server packed in container;
4. IDE Controller on public cloud;
IDE Server resource pool;
6. managing the backend and plug-in markets.
The SAAS IDE portal is an entrance and a working environment of a tenant, the tenant can select an IDE specification and a corresponding Smart Project template after registering an account number in a portal website and self-service the IDE specification and the corresponding Smart Project template, at the moment, when an IDE Controller on a public cloud receives a starting instruction, a proper node (virtual machine) is selected from an IDE Server resource pool, a corresponding Docker mirror image is found according to the Project template selected by a user, then a Docker API on the node is called to dynamically create an IDE Server container, and quota limits of a CPU, a GPU, a memory and the like used by the container are derived from specification parameters of an IDE. After the container is successfully created, the IDE Controller will continue to execute some related initialization work according to the definition of the Smart Project template, including the installation and configuration of related IDE plug-ins and development language SDK, generate corresponding Project engineering files, automatically introduce related development framework class libraries, generate related source codes and configuration files based on the best practice of the development framework, and enter the IDE GUI based on the browser after all work is completed, and the user can then normally use the functions of SAAS version IDE.
The IDE Server is an IDE core component running in a Docker container, and considering the support of a multi-language multi-development framework, the Docker mirror image of the IDE Server has the following 3 realization ideas:
1. each development language and development framework customizes a corresponding Docker mirror image;
2. adopting a unified basic Docker mirror image, and then dynamically installing a corresponding development language SDK and a development frame in a running period, or matching an auxiliary Docker mirror image to realize different functions of the IDE;
3. the idea of mixing the two modes is described.
Considering the consideration of the aspects of starting time, mirror image size, function extension, plug-in mechanism and the like, a mixed mode idea is adopted, namely, firstly, a basic mirror image of a development environment is manufactured, the basic mirror image comprises basic tools such as a git client and an SSH Server, then the basic mirror image is inherited, each development language is manufactured into an independent basic mirror image, for example, tools such as Java SDK, Maven and Ant of Java development languages are included, and then new mirror images are extended aiming at different development frameworks, for example, development mirror images of Struts Framework or development mirror images of Spring Boot, and other languages are similar. After the IDE Server is started, the IDE Server is bound to a certain port and provides a remote interface based on a Rest protocol for the use of the IDE GUI, and the IDE Server and the IDE GUI are matched to realize all functions of the cloud IDE. As shown in fig. 7, the development environment mirror image and the tool class mirror image are extended according to a mechanism of layered inheritance of a Docker mirror image, where the final mirror quantity of the IDE Server is large because there are many combinations for different development languages and development frameworks, and the IDE tool set is relatively stable.
The IDE Server is responsible for dynamic creation and management by IDE Controller, which is also one of the core components in the development environment, and its main functions are as follows:
managing and monitoring a resource pool of the IDE Server;
realizing the resource scheduling function of the IDE Server;
the system is responsible for the full life cycle process of the IDE Server, such as creation, suspension, recovery, destruction and the like;
monitoring the health condition of the IDE Server;
collecting and recording resource use indexes of the IDE Server for charging and billing;
the IDE Server resource pool is a set of cloud servers for running IDE Server containers of tenants, and the set of servers is uniformly managed by an IDE Controller, and the IDE Controller establishes links with each node in the resource pool to acquire information of available resources, such as how many CPUs (central processing units), memories, disk spaces, whether GPUs (graphic processing units) exist and the like, and the information is used for selecting proper nodes to schedule new IDE Server containers. When the IDE Server container is created successfully, the IDE Controller will record the corresponding information into the registry, such as the node where the container is located, IP address, port, creation time, etc., which will be used by the IDE GUI to access the user's own IDE Server. When a IDE Server is no longer in use, the IDE Controller is responsible for destroying the IDE Server and reclaiming resources. SAAS IDE Portal.
The main functions of the management background module are the functions of resource management, configuration, billing, monitoring and alarming and the like. The plug-in market module is a sub-module in the SAAS IDE portal, is similar to a general App application market, any developer can register an account number and upload and release own plug-in, and the plug-in can be searched and downloaded by an SAAS user for use after being audited.
The scheme for tenant data isolation is as follows:
1. tenant configuration data isolation
2. Each tenant has an independent project catalog isolated from each other
3. IDE Server of each tenant is isolated from IDE servers of other tenants
Optionally, as shown in fig. 8, an electronic device 800 is further provided in this embodiment of the present application, and includes a processor 801, a memory 802, and a program or an instruction stored in the memory 802 and executable on the processor 801, where the program or the instruction is executed by the processor 801 to implement each process of the compiling method embodiment, and can achieve the same technical effect, and no further description is provided here to avoid repetition.
It should be noted that the electronic device in the embodiment of the present application includes the mobile electronic device and the non-mobile electronic device described above.
Fig. 9 is a schematic diagram of a hardware structure of an electronic device implementing an embodiment of the present application.
The electronic device 900 includes, but is not limited to: a radio frequency unit 901, a network module 902, an audio output unit 903, an input unit 904, a sensor 905, a display unit 906, a user input unit 907, an interface unit 908, a memory 909, and a processor 910.
Those skilled in the art will appreciate that the electronic device 900 may further include a power source (e.g., a battery) for supplying power to various components, and the power source may be logically connected to the processor 910 through a power management system, so as to manage charging, discharging, and power consumption management functions through the power management system. The electronic device structure shown in fig. 9 does not constitute a limitation of the electronic device, and the electronic device may include more or less components than those shown, or combine some components, or arrange different components, and thus, the description is not repeated here.
It should be understood that, in the embodiment of the present application, the input Unit 904 may include a Graphics Processing Unit (GPU) 9041 and a microphone 9042, and the Graphics Processing Unit 9041 processes image data of a still picture or a video obtained by an image capturing device (such as a camera) in a video capturing mode or an image capturing mode. The display unit 906 may include a display panel 9061, and the display panel 9068 may be configured in the form of a liquid crystal display, an organic light emitting diode, or the like. The user input unit 907 includes a touch panel 9071 and other input devices 9072. A touch panel 9071 also referred to as a touch screen. The touch panel 9071 may include two parts, a touch detection device and a touch controller. Other input devices 9072 may include, but are not limited to, a physical keyboard, function keys (e.g., volume control keys, switch keys, etc.), a trackball, a mouse, and a joystick, which are not described in detail herein. Memory 909 can be used to store software programs as well as various data including, but not limited to, application programs and operating systems. The processor 910 may integrate an application processor, which mainly handles operating systems, user interfaces, application programs, etc., and a modem processor, which mainly handles wireless communication. It will be appreciated that the modem processor described above may not be integrated into processor 910.
The embodiment of the present application further provides a readable storage medium, where a program or an instruction is stored on the readable storage medium, and when the program or the instruction is executed by a processor, the program or the instruction implements each process of the compiling method embodiment, and can achieve the same technical effect, and in order to avoid repetition, details are not repeated here.
The processor is the processor in the electronic device described in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and so on.
The embodiment of the present application further provides a chip, where the chip includes a processor and a communication interface, the communication interface is coupled to the processor, and the processor is configured to run a program or an instruction to implement each process of the compiling method embodiment, and the same technical effect can be achieved, and is not described herein again to avoid repetition.
It should be understood that the chips mentioned in the embodiments of the present application may also be referred to as system-on-chip, system-on-chip or system-on-chip, etc.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element. Further, it should be noted that the scope of the methods and apparatus of the embodiments of the present application is not limited to performing the functions in the order illustrated or discussed, but may include performing the functions in a substantially simultaneous manner or in a reverse order based on the functions involved, e.g., the methods described may be performed in an order different than that described, and various steps may be added, omitted, or combined. In addition, features described with reference to certain examples may be combined in other examples.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solutions of the present application may be embodied in the form of a software product, which is stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal (such as a mobile phone, a computer, a server, an air conditioner, or a network device) to execute the method according to the embodiments of the present application.
While the present embodiments have been described with reference to the accompanying drawings, it is to be understood that the invention is not limited to the precise embodiments described above, which are meant to be illustrative and not restrictive, and that various changes may be made therein by those skilled in the art without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (10)

1. A compilation method, comprising:
receiving a compiling instruction sent by a target account from a browser compiling module;
and compiling the project file in a project development template according to the compiling instruction to obtain a target file, wherein the project development template is a template stored in a target container of a cloud service module, and the container is associated with the target account.
2. The method of claim 1, wherein prior to said compiling project files in a project development template according to said compiling instructions, said method further comprises:
matching a corresponding engineering file compiling plug-in according to the project development template;
the compiling of the project file in the project development template according to the compiling instruction to obtain the target file specifically comprises the following steps:
and compiling the project file in a project development template according to the compiling instruction and the compiling plug-in to obtain a target file.
3. The method of claim 1, wherein after the compiling the project file in the project development template according to the compiling instruction to obtain the target file, the method further comprises:
backing up the target file to obtain a backup file;
and storing the backup file.
4. The method of claim 1, wherein prior to said receiving a compile instruction, the method further comprises:
receiving the product specification and the development mode of the compiling project sent by the target account from a browser compiling module;
configuring a target container according to the product specification and the development mode.
5. The method of claim 4, wherein configuring the target container according to the product specification and the development model comprises:
and configuring the quantity of central processing units, the memory capacity and the server storage space required by the container according to the product specification and the development mode to obtain a target container.
6. The method of claim 4, wherein after said configuring a target container according to said product specification and said development mode, prior to said receiving a compilation instruction, said method further comprises:
receiving project template selection information;
and creating a project development template in the target container according to the project template selection information.
7. The method of any of claims 1-6, wherein the project development template comprises: one or more combinations of a project development language, a project development framework, a project development mode, and an implementation that satisfies a preset condition.
8. A compiling apparatus characterized by comprising:
the receiving module is used for receiving a compiling instruction sent by the target account from the browser compiling module;
and the execution module is used for compiling the project file in a project development template according to the compiling instruction to obtain a target file, wherein the project development template is a template stored in a target container of the cloud service module, and the container is associated with the target account.
9. An electronic device comprising a processor, a memory, and a program or instructions stored on the memory and executable on the processor, the program or instructions when executed by the processor implementing the steps of the compiling method according to any one of claims 1 to 7.
10. A readable storage medium, on which a program or instructions are stored, which when executed by a processor implement the steps of the compiling method according to any one of claims 1-7.
CN202011568790.5A 2020-12-25 2020-12-25 Compiling method, device, storage medium and electronic equipment Pending CN114691139A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011568790.5A CN114691139A (en) 2020-12-25 2020-12-25 Compiling method, device, storage medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011568790.5A CN114691139A (en) 2020-12-25 2020-12-25 Compiling method, device, storage medium and electronic equipment

Publications (1)

Publication Number Publication Date
CN114691139A true CN114691139A (en) 2022-07-01

Family

ID=82129157

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011568790.5A Pending CN114691139A (en) 2020-12-25 2020-12-25 Compiling method, device, storage medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN114691139A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116126347A (en) * 2023-04-17 2023-05-16 函子科技(杭州)有限公司 File compiling system and method for low-code application program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116126347A (en) * 2023-04-17 2023-05-16 函子科技(杭州)有限公司 File compiling system and method for low-code application program

Similar Documents

Publication Publication Date Title
US11086661B2 (en) Container chaining for automated process completion
CN105814539B (en) The method and apparatus generated for code virtualization and remote process call
CN112270149B (en) Verification platform automatic integration method and system, electronic equipment and storage medium
JP7050106B2 (en) How to instantiate an executable analysis module
EP3095031A1 (en) Cloud-based decision management platform
Quinton et al. SALOON: a platform for selecting and configuring cloud environments
CN110362490B (en) Automatic testing method and system for integrating iOS and Android mobile applications
Vivian et al. Rapid and efficient analysis of 20,000 RNA-seq samples with Toil
Sally Pro Linux embedded systems
Kim et al. X-droid: A quick and easy android prototyping framework with a single-app illusion
CN112988165A (en) Kubernetes-based interactive modeling method and device, electronic equipment and storage medium
Nüst et al. The rockerverse: packages and applications for containerization with r
Kaewkasi Docker for serverless applications: containerize and orchestrate functions using OpenFaas, OpenWhisk, and Fn
CN114661375A (en) Application integration method and device
You et al. A comparative study of cross-platform mobile application development
CN114691139A (en) Compiling method, device, storage medium and electronic equipment
Botturi et al. Model-driven design for the development of multi-platform smartphone applications
US20130263126A1 (en) System and method for increasing the capabilities of a mobile device
Thomas et al. Simulation factory: Taming application configuration and workflow on high-end resources
Jaber et al. A high-level modeling language for the efficient design, implementation, and testing of Android applications
Krochmalski Docker and Kubernetes for Java Developers
Mutiara et al. Developing a SAAS-cloud integrated development environment (IDE) for C, C++, and Java
Skúlason Architectural operations in cloud computing
Alonso et al. Towards Supporting the Extended DevOps Approach through Multi-cloud Architectural Patterns for Design and Pre-deployment-A Tool Supported Approach
Cerin et al. BOINC as a service for the slapos cloud: Tools and methods

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