CN117707702A - Method and system for realizing online IDE - Google Patents

Method and system for realizing online IDE Download PDF

Info

Publication number
CN117707702A
CN117707702A CN202311740533.9A CN202311740533A CN117707702A CN 117707702 A CN117707702 A CN 117707702A CN 202311740533 A CN202311740533 A CN 202311740533A CN 117707702 A CN117707702 A CN 117707702A
Authority
CN
China
Prior art keywords
ide
mirror image
simulator
cluster
helm
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
CN202311740533.9A
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 Telecom Corp Ltd
China Telecom Digital Intelligence Technology Co Ltd
Original Assignee
China Telecom Corp Ltd
China Telecom Digital Intelligence 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 Telecom Corp Ltd, China Telecom Digital Intelligence Technology Co Ltd filed Critical China Telecom Corp Ltd
Priority to CN202311740533.9A priority Critical patent/CN117707702A/en
Publication of CN117707702A publication Critical patent/CN117707702A/en
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention discloses a method and a system for realizing online IDE, which belong to the technical field of computers, and the method comprises the following steps: manufacturing a docker image of the IDE through the Dockerfile, and pushing the docker image to a Nexus warehouse; based on a cloud native helm technology, encapsulating the docker mirror image, cephfs file storage and preset parameters by using a logical control statement of helm; generating a hart installation package aiming at the IDE mirror image, uploading the hart installation package to a Nexus hosting warehouse, and adding a corresponding hart information record in a database to call an instance of the quick deployment of the hart installation package in a cluster on-line IDE; based on the WebSocket and WebRTC technologies, displaying an interface on a remote Web browser by an Android simulator in the cluster, and performing real-time reverse control on the simulator in the cluster through the browser; the help environment is integrated by the microservice and the help command is encapsulated into a Restful interface. The scheme can improve the convenience of integral management of IDE, and can preview and reversely control at the mobile terminal through a Web browser.

Description

Method and system for realizing online IDE
Technical Field
The invention belongs to the technical field of computers, and particularly relates to a method and a system for realizing online IDE.
Background
An integrated development environment (Integrated Development Environment, IDE) is an application program for providing a program development environment, and generally includes tools such as a code editor, compiler, debugger, and graphical user interface. Currently, online IDEs on the market mostly have such drawbacks:
1. IDE image deployment is complex and slow. When cluster deployment is performed in K8S using native Docker mirroring, YAML files are written for the mirrored resources as needed, and then deployed using operators, for example: deploying a conventional IDE image generally requires deploying resources such as deployment, service, ingress, because the K8S lacks management and control over the release of the version of the IDE image, so that deployment maintenance and update of the IDE or simulator image face many problems, such as complex and tedious overall management of the IDE, and easy error, for example: unloading is firstly carried out on a certain version of IDE, delete operation is carried out on yaml files of one service, the same principle is adopted, a certain IDE version is on line, and apply is removed one by one, although kubecl apply-f can be carried out in a catalog to execute yaml files corresponding to all mirror images of the current catalog, the situation that the yaml files are in the same catalog each time cannot be guaranteed; in addition, efficient multiplexing of the IDE image file cannot be achieved, and in general, the IDE images have relatively large physical volumes, for example: after a deployment name of IDEA is completed by using yaml file, the deployment name of IDEA2 of the same IDE is made next time, and the deployment file and the resource file are all copied again to be modified and redeployed;
2. in the prior art, the support degree of IDE on Android development of a mobile terminal is low, a simulator is not supported to preview and reversely control through a Web browser, and local mobile phone remote connection is not supported to realize online joint debugging.
Disclosure of Invention
The invention provides a method and a system for realizing online IDE (integrated development and development) in order to solve the technical problems that online IDE mirror image deployment is complex and slow and the support degree for Android development of a mobile terminal is low in the prior art.
First aspect
The invention provides an implementation method of an online IDE, which comprises the following steps:
s1: manufacturing a docker image of the IDE through the Dockerfile, and pushing the docker image to a Nexus warehouse;
s2: based on a cloud native helm technology, encapsulating the docker mirror image, cephfs file storage and preset parameters by using a logical control statement of the helm, wherein the preset parameters comprise a command, an environment and a life cycle;
s3: generating a hart installation package aiming at the IDE mirror image, uploading the hart installation package to a Nexus hosting warehouse, and adding a corresponding hart information record in a database to call an instance of the quick deployment of the hart installation package in a cluster on-line IDE;
s4: based on the WebSocket and WebRTC technologies, displaying an interface on a remote Web browser by an Android simulator in the cluster, and performing real-time reverse control on the simulator in the cluster through the browser;
s5: and integrating a helm environment through a microservice, packaging a helm command into a Restful interface, and deploying by using interface interaction so that a user can perform authentication and access of the cloud end ideas when the remote browser inputs an access address.
Further, the step S1 specifically includes:
s101, manufacturing a dock mirror image of the rear end by using Intellij IDEA Community Edition of a community edition, or manufacturing a dock mirror image of the front end by using VSCODE, or manufacturing a dock mirror image of the mobile end by using Android Studio;
s102, customizing corresponding docker mirror images according to first parameters through Dockerfile, wherein the first parameters comprise at least one of plugins, running environments, environments and user variables.
Further, the step S3 further includes:
and using the ceph file storage system to carry out file data mounting so as to set a persistent directory for a user.
Further, the step S4 specifically includes:
s401: making a system mirror image of an Android appointed system version through a dockerfile, and starting a mirror image in a cluster;
s402: entering the system mirror image, and creating a dock container and a simulator AVD of a designated ABI version;
s403, entering the container and starting a UI-free simulator;
s404: and starting the interface monitoring service of the UI-free simulator, capturing mouse and keyboard input events of a user in a browser, capturing mouse movement coordinates, converting the mouse movement coordinates into actual Android simulator coordinates through scaling, and finally sending the actual Android simulator coordinates back to a server.
Further, the step S5 specifically includes:
s501, selecting and downloading a palm client program corresponding to a kubernetes version through a micro-service integrated palm environment, and executing a palm version;
s502: encapsulating the helm command into a Restful interface based on the micro-service, executing a command process on the installation parameters of the incoming response, and capturing a correct result or an abnormal message;
s503: designing the parameter content of the front form according to different characteristics of different IDEs;
s504: and using interface interaction to deploy so that a user can perform authentication and access of the cloud side ide when the remote browser inputs the access address.
Second aspect
The invention provides an implementation system of an online IDE, which comprises:
the image generation module is used for manufacturing a docker image of the IDE through the Dockerfile and pushing the docker image to a Nexus warehouse;
the data packaging module is used for packaging the docker mirror image, the cephfs file storage and preset parameters based on a cloud native helm technology by using a helm logic control statement, wherein the preset parameters comprise a command, an environment and a life cycle;
the cluster deployment module is used for generating a hart installation package aiming at the IDE mirror image, uploading the hart installation package to a Nexus hosting warehouse, and adding a corresponding hart information record in a database to call an instance of the quick deployment of the hart installation package on-line IDE in a cluster;
the reverse control module is used for displaying an interface on a remote Web browser by the Android simulator in the cluster based on the WebSocket and WebRTC technologies and carrying out real-time reverse control on the simulator in the cluster through the browser;
and the authentication access module is used for integrating a helm environment through a micro-service, packaging a helm command into a Restful interface, and deploying by using interface interaction so that a user can perform authentication and access of the cloud side when the remote browser inputs an access address.
Further, the image generation module is specifically configured to:
making a dock mirror image of the rear end by using Intellij IDEA Community Edition of the community edition, or making a dock mirror image of the front end by using VSCODE, or making a dock mirror image of the mobile end by using Android Studio;
customizing, by the Dockerfile, the respective docker mirror image according to a first parameter including at least one of a plug-in, a runtime environment, an environment, and a user variable.
Further, the cluster deployment module is further configured to:
and using the ceph file storage system to carry out file data mounting so as to set a persistent directory for a user.
Further, the reverse control module is specifically configured to:
making a system mirror image of an Android appointed system version through a dockerfile, and starting a mirror image in a cluster;
entering the system mirror image, and creating a dock container and a simulator AVD of a designated ABI version;
entering a container to start a UI-free simulator;
and starting the interface monitoring service of the UI-free simulator, capturing mouse and keyboard input events of a user in a browser, capturing mouse movement coordinates, converting the mouse movement coordinates into actual Android simulator coordinates through scaling, and finally sending the actual Android simulator coordinates back to a server.
Further, the authentication access module is specifically configured to:
selecting to download a palm client program corresponding to the kubernetes version through a micro-service integrated palm environment, and executing a palm version;
encapsulating the helm command into a Restful interface based on the micro-service, executing a command process on the installation parameters of the incoming response, and capturing a correct result or an abnormal message;
designing the parameter content of the front form according to different characteristics of different IDEs;
and using interface interaction to deploy so that a user can perform authentication and access of the cloud side ide when the remote browser inputs the access address.
Compared with the prior art, the invention has at least the following beneficial technical effects:
according to the invention, on one hand, the technology of fast hosting and fast deploying to the cluster through the IDE mirror image is based on the helm technology, and on the other hand, the technology of real-time reverse control of the in-cluster simulator through the in-cluster Android simulator on a remote Web browser display interface and through a browser is based on the WebSocket, webRTC technology, so that the convenience of integral management of the IDE can be realized, the steps of management operation are simplified, the management efficiency is improved, the energy consumption is reduced, and a management control module is provided for the Android system of the mobile terminal, so that preview and reverse control can be performed through the Web browser on the mobile terminal.
Drawings
The above features, technical features, advantages and implementation of the present invention will be further described in the following description of preferred embodiments with reference to the accompanying drawings in a clear and easily understood manner.
FIG. 1 is a flow chart of an implementation method of an online IDE provided by the invention;
FIG. 2 is a schematic diagram of an implementation system of an online IDE according to the present invention;
FIG. 3 is a schematic diagram of an online IDE implementation process provided by the present invention;
FIG. 4 is a block diagram of an on-line IDE implementation module provided by the present invention;
fig. 5 is a block diagram of a cloud simulator implementation module provided by the invention.
Detailed Description
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following description will explain the specific embodiments of the present invention with reference to the accompanying drawings. It is evident that the drawings in the following description are only examples of the invention, from which other drawings and other embodiments can be obtained by a person skilled in the art without inventive effort.
For simplicity of the drawing, only the parts relevant to the invention are schematically shown in each drawing, and they do not represent the actual structure thereof as a product. Additionally, in order to simplify the drawing for ease of understanding, components having the same structure or function in some of the drawings are shown schematically with only one of them, or only one of them is labeled. Herein, "a" means not only "only this one" but also "more than one" case.
It should be further understood that the term "and/or" as used in the present specification and the appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes such combinations.
In this context, it should be noted that the terms "mounted," "connected," and "connected" are to be construed broadly, and may be, for example, fixedly connected, detachably connected, or integrally connected, unless otherwise explicitly stated and defined. Either mechanically or electrically. Can be directly connected or indirectly connected through an intermediate medium, and can be communication between two elements. The specific meaning of the above terms in the present invention will be understood in specific cases by those of ordinary skill in the art.
In addition, in the description of the present invention, the terms "first," "second," and the like are used merely to distinguish between descriptions and are not to be construed as indicating or implying relative importance.
Technical terms appearing in the present invention will be explained first.
Chinese language of IDE is known as integrated development environment, an application program for providing a program development environment generally includes tools such as a code editor, compiler, debugger, and graphical user interface. The development software service sleeve integrates a code writing function, an analysis function, a compiling function, a debugging function and the like. All software or software suites (sets) that have this property may be called integrated development environments. Such as the Microsoft Visual Studio series, the Borland C++ Builder, delphi series, and the like. The program can run independently or be used in combination with other programs. IDE is often used to develop HTML applications. For example, many people use IDE (e.g., homeSite, dreamWeaver, etc.) when designing websites, as many tasks are automatically generated.
Cloud protogenesis is a software development and deployment method based on containers, micro-services and automated operation and maintenance. The cloud platform system can enable application programs to be more efficient, reliable and extensible, and is suitable for various cloud platforms.
Docker is a virtualization technology developed and realized by using Go language introduced by Google corporation, and is based on cgroup, namespace of Linux kernel, union FS of AUFS class and other technologies, packages and isolates processes, belonging to the virtualization technology of the operating system level.
The Web front-end uses HTML, javaScript, CSS, react, webSocket, webRTC, where HTML, javaScript, CSS is the Web page infrastructure, act is the framework commonly used by the front-end, and WebSocket, webRTC is the most efficient protocol for low-latency real-time communication between the browser and the device.
The technical scheme of the invention is based on cloud protogenesis, dock virtualization and Web front-end technology.
Example 1
In one embodiment, referring to fig. 1 and fig. 3 of the specification, a flowchart and a step diagram of an implementation method of an online IDE provided by the present invention are shown, respectively.
The invention provides an implementation method of an online IDE, which comprises the following steps:
s1: manufacturing a docker image of the IDE through the Dockerfile, and pushing the docker image to a Nexus warehouse;
in one possible embodiment, the step S1 specifically includes:
s101, manufacturing a dock mirror image of the rear end by using Intellij IDEA Community Edition of a community edition, or manufacturing a dock mirror image of the front end by using VSCODE, or manufacturing a dock mirror image of the mobile end by using Android Studio;
s102, customizing corresponding docker mirror images according to first parameters through Dockerfile, wherein the first parameters comprise at least one of plugins, running environments, environments and user variables.
The specific steps are shown in step (1) and step (2) of fig. 3, firstly, preparing dock images of the original front-end and back-end IDEs, for example, intellij IDEA Community Edition of community version is used for the back-end, VSCode is used for the front-end, android Studio is used for the mobile-end, customizing the dock images of the IDEs through dock file, pushing the dock images to a Nexus warehouse, and customizing according to parameters such as plug-in units, running environments, user variables and the like.
S2: based on a cloud native helm technology, encapsulating the docker mirror image, cephfs file storage and preset parameters by using a logical control statement of the helm, wherein the preset parameters comprise a command, an environment and a life cycle;
as shown in steps (3) (4) (5) (6) in fig. 3, based on the cloud native helm technology, the above-mentioned dock mirror image and cephfs file storage are encapsulated by using a logical control statement of helm, and according to additional parameters such as commands, environment and life cycle, a set of chart installation packages for the IDE mirror image are independently developed, uploaded to a Nexus hosting warehouse, corresponding chart information records are added in a database, and finally, an instance of rapidly deploying the online IDE in a k8s cluster is called for the installation packages.
Referring to fig. 4, a block diagram of an online IDE implementation module according to the present invention is provided. This step requires invoking an online IDE module that includes:
container module 111: the module mainly uses configuration files to rapidly assign a mirror image configuration version in configuration, rapidly deploy and package a mirror image, monitor the failed restart of the mirror image and automatically configure a command when the mirror image is started. Upon detecting a new image version upload, the module automatically applies the configuration to the container image while monitoring it.
Mounting module 112: the module is mainly used for cluster quick access, secret key automatic configuration and directory reading of a file system, and can be introduced into a delete configuration file.
The life cycle monitoring module 113: the module realizes hooks of a declaration period, and monitors the execution command, waiting time, machine after initialization, before destruction, after destruction and the like when the container mirror image is initialized. Meanwhile, the module allows the user to match with webhook to realize the pushing function of mail messages and short messages.
S3: generating a hart installation package aiming at the IDE mirror image, uploading the hart installation package to a Nexus hosting warehouse, and adding a corresponding hart information record in a database to call an instance of the quick deployment of the hart installation package in a cluster on-line IDE;
in one possible implementation, as shown in step (9) in fig. 3, S3 further includes file data mounting using the ceph file storage system to set a persistent directory for the user.
S4: based on the WebSocket and WebRTC technologies, displaying an interface on a remote Web browser by an Android simulator in the cluster, and performing real-time reverse control on the simulator in the cluster through the browser;
in one possible embodiment, S4 specifically includes:
s401: making a system mirror image of an Android appointed system version through a dockerfile, and starting a mirror image in a cluster;
s402: entering the system mirror image, and creating a dock container and a simulator AVD of a designated ABI version;
s403, entering the container and starting a UI-free simulator;
s404: and starting the interface monitoring service of the UI-free simulator, capturing mouse and keyboard input events of a user in a browser, capturing mouse movement coordinates, converting the mouse movement coordinates into actual Android simulator coordinates through scaling, and finally sending the actual Android simulator coordinates back to a server.
The method is used for realizing Web control of the cluster simulator. As shown in fig. 3, the specific implementation method is as follows:
1. making a system mirror image of an Android appointed system version through a dockerfile, and starting a mirror image in a cluster; corresponding to steps (1) and (2) of fig. 1;
2. entering a system mirror image, creating a dock container, and creating a simulator AVD of a designated ABI version; this stage is completed in the mirror image preparation stage;
3. entering a container to start a UI-free simulator; this stage is completed in the mirror image preparation stage;
4. and starting a simulator interface monitoring service, capturing mouse and keyboard input events of a user in a browser, capturing mouse movement coordinates, converting the mouse movement coordinates into actual Android simulator coordinates through scaling, and finally sending the actual Android simulator coordinates back to a server. Corresponds to the steps of FIG. 1
FIG. 5 is a block diagram of a cloud simulator implementation module provided by the invention; the module specifically comprises the following modules:
android simulator simulation control module 211: at the browser end, js is used to monitor events operated by the user, such as mouse movements, mouse clicks, keyboard inputs, etc. When the browser captures mouse and keyboard events, the Android simulator simulation control module 211 organizes the event data into a format required by the simulator to facilitate data transmission and parsing, e.g., conversion into actual simulator coordinates by scaling. And then, the Android simulator simulation control module 211 sends the captured user operation data back to the server through the WebSocket technology, and after the server receives a user operation event, the Android simulator simulation control module 211 analyzes and converts the mouse action and the keyboard input action operated by the user into a coordinate system in the Android system, and calls an API in the system to perform simulation operation on the simulator. For example, invoking the InputManager class of the simulator system may simulate a text input operation by the user.
The Android simulator simulation control module 211 realizes real-time reverse control of the intra-cluster simulators through remote Web.
The Android simulator remote Web mapping module 212 is mainly used for video streaming transmission of simulator pictures, firstly, the Android simulator remote Web mapping module 212 obtains screen video streaming of an Android simulator through WebSocket, carries out H264 coding on the screen video streaming of the Android simulator into a byte array, finally transmits the byte array to WebRTC service in real time through WebSocket, and when a user accesses the simulator in a server cluster through a browser, the Android simulator remote Web mapping module 212 displays the simulator pictures through the packaged WebRTC service, and transmits data streaming to the front end of the browser, and finally maps the simulator pictures in real time.
The Android simulator remote Web mapping module 212 enables an interface of an Android simulator mirror image in a cluster to be accessed through a remote Web browser.
S5: and integrating a helm environment through a microservice, packaging a helm command into a Restful interface, and deploying by using interface interaction so that a user can perform authentication and access of the cloud end ideas when the remote browser inputs an access address.
This step can accomplish the rapid deployment of the online IDE. In an alternative manner, S5 specifically includes:
s501, selecting and downloading a palm client program corresponding to a kubernetes version through a micro-service integrated palm environment, and executing a palm version;
s502: encapsulating the helm command into a Restful interface based on the micro-service, executing a command process on the installation parameters of the incoming response, and capturing a correct result or an abnormal message;
s503: designing the parameter content of the front form according to different characteristics of different IDEs;
s504: and using interface interaction to deploy so that a user can perform authentication and access of the cloud side ide when the remote browser inputs the access address.
Specifically, the steps are as follows:
and (3) setting up an environment: the micro-service integrates the helm environment, selects to download the helm client program corresponding to the kubernetes version, prepares kubeConfig files to be placed under the/root/. Kube folder, can also be established manually, uses ln-s/root/. Kube/usr/local/bin to be flexibly connected to environment variables, and executes helm version to ensure that no error problem exists, and prints the version under the correct condition.
Packaging general flow logic: with the environment, the palm commands may be encapsulated for a Restful interface based on micro services, such as: helminstall releaseName-set json repoName/chartName-n nasspace, can use java to execute command process on the installation parameters of the process incoming response supported under the linux/windows, then capture correct result/exception message through process. Similarly, the encapsulation of the palm upgrade, the uninstall, the repo add, the lin t, the debug and the like provides a general call for other modules as interfaces;
deployment using interface interactions: according to different characteristics of different ids, front-end form parameter content, such as a name space, a resource, an image, an environment variable, a command and the like, is designed to be packaged into a json character string request back-end interface, and deployment can be executed.
After the deployment is completed, the user can perform authentication and access of the cloud end ideas by inputting the access address in the remote browser.
Compared with the prior art, the invention has at least the following beneficial technical effects: the scheme provides a technology for fast packaging of IDE/simulator images, a technology for interface display of a simulator in a cluster through a remote Web browser and reverse control through the browser, and a fast deployment scheme of micro-services based on the helm-api, kubConfig. On the one hand, the technology of fast hosting and fast deploying to the cluster through the IDE mirror image is based on the helm technology, on the other hand, the technology of real-time reverse control of the in-cluster simulator through the in-cluster Android simulator on a remote Web browser display interface and through a browser is based on the WebSocket, webRTC technology, the convenience of integral management of the IDE can be realized, the steps of management operation are simplified, the management efficiency is improved, the energy consumption is reduced, a management control module is provided for a mobile-end Android system, and previewing and reverse control can be performed on the mobile end through the Web browser.
Example 2
In one embodiment, referring to fig. 2 of the specification, a schematic structural diagram of an implementation system of an online IDE provided by the present invention is shown.
The present invention provides an implementation system 20 of an online IDE, comprising:
the image generation module 201 is configured to make a dock image of the IDE through dock file, and push the dock image to the Nexus warehouse;
the data packaging module 202 is configured to package the dock mirror image, the cephfs file storage, and preset parameters, where the preset parameters include a command, an environment, and a life cycle, using a logical control statement of a helm based on a cloud native helm technique;
the cluster deployment module 203 is configured to generate a hart installation package for an IDE image, upload the hart installation package to a Nexus hosting warehouse, and add a corresponding hart information record in a database to invoke an instance of rapidly deploying the hart installation package on-line IDE in a cluster;
the reverse control module 204 is configured to display an interface on a remote Web browser by an Android simulator in a cluster based on WebSocket and WebRTC technologies, and perform real-time reverse control on the simulator in the cluster through the browser;
the authentication access module 205 is configured to integrate a helm environment through a micro-service, package a helm command into a Restful interface, and use interface interaction to perform deployment, so that a user can perform authentication and access of a cloud end identifier when the remote browser inputs an access address.
Further, the mirror image generating module 201 is specifically configured to:
making a dock mirror image of the rear end by using Intellij IDEA Community Edition of the community edition, or making a dock mirror image of the front end by using VSCODE, or making a dock mirror image of the mobile end by using Android Studio;
customizing, by the Dockerfile, the respective docker mirror image according to a first parameter including at least one of a plug-in, a runtime environment, an environment, and a user variable.
Further, the cluster deployment module 203 is further configured to:
and using the ceph file storage system to carry out file data mounting so as to set a persistent directory for a user.
Further, the reverse control module 204 is specifically configured to:
making a system mirror image of an Android appointed system version through a dockerfile, and starting a mirror image in a cluster;
entering the system mirror image, and creating a dock container and a simulator AVD of a designated ABI version;
entering a container to start a UI-free simulator;
and starting the interface monitoring service of the UI-free simulator, capturing mouse and keyboard input events of a user in a browser, capturing mouse movement coordinates, converting the mouse movement coordinates into actual Android simulator coordinates through scaling, and finally sending the actual Android simulator coordinates back to a server.
Further, the authentication access module 205 is specifically configured to:
selecting to download a palm client program corresponding to the kubernetes version through a micro-service integrated palm environment, and executing a palm version;
encapsulating the helm command into a Restful interface based on the micro-service, executing a command process on the installation parameters of the incoming response, and capturing a correct result or an abnormal message;
designing the parameter content of the front form according to different characteristics of different IDEs;
and using interface interaction to deploy so that a user can perform authentication and access of the cloud side ide when the remote browser inputs the access address.
The implementation system of online IDE provided by the present invention can implement the steps and effects of the implementation method of online IDE in the above embodiment 1, and in order to avoid repetition, the present invention is not repeated.
Compared with the prior art, the invention has at least the following beneficial technical effects:
according to the invention, on one hand, the technology of fast hosting and fast deploying to the cluster through the IDE mirror image is based on the helm technology, and on the other hand, the technology of real-time reverse control of the in-cluster simulator through the in-cluster Android simulator on a remote Web browser display interface and through a browser is based on the WebSocket, webRTC technology, so that the convenience of integral management of the IDE can be realized, the steps of management operation are simplified, the management efficiency is improved, the energy consumption is reduced, and a management control module is provided for the Android system of the mobile terminal, so that preview and reverse control can be performed through the Web browser on the mobile terminal. .
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The foregoing examples illustrate only a few embodiments of the invention, which are described in detail and are not to be construed as limiting the scope of the invention. It should be noted that it will be apparent to those skilled in the art that several variations and modifications can be made without departing from the spirit of the invention, which are all within the scope of the invention. Accordingly, the scope of protection of the present invention is to be determined by the appended claims.

Claims (10)

1. A method for implementing an online IDE, comprising:
s1: manufacturing a docker image of the IDE through the Dockerfile, and pushing the docker image to a Nexus warehouse;
s2: based on a cloud native helm technology, encapsulating the docker mirror image, cephfs file storage and preset parameters by using a logical control statement of the helm, wherein the preset parameters comprise a command, an environment and a life cycle;
s3: generating a hart installation package aiming at the IDE mirror image, uploading the hart installation package to a Nexus hosting warehouse, and adding a corresponding hart information record in a database to call an instance of the quick deployment of the hart installation package in a cluster on-line IDE;
s4: based on the WebSocket and WebRTC technologies, displaying an interface on a remote Web browser by an Android simulator in the cluster, and performing real-time reverse control on the simulator in the cluster through the browser;
s5: and integrating a helm environment through a microservice, packaging a helm command into a Restful interface, and deploying by using interface interaction so that a user can perform authentication and access of the cloud end ideas when the remote browser inputs an access address.
2. The method for implementing online IDE according to claim 1, wherein S1 specifically comprises:
s101, manufacturing a dock mirror image of the rear end by using Intellij IDEA Community Edition of a community edition, or manufacturing a dock mirror image of the front end by using VSCODE, or manufacturing a dock mirror image of the mobile end by using Android Studio;
s102, customizing corresponding docker mirror images according to first parameters through Dockerfile, wherein the first parameters comprise at least one of plugins, running environments, environments and user variables.
3. The method for implementing online IDE of claim 1, wherein S3 further comprises:
and using the ceph file storage system to carry out file data mounting so as to set a persistent directory for a user.
4. The method for implementing online IDE according to claim 1, wherein S4 specifically comprises:
s401: making a system mirror image of an Android appointed system version through a dockerfile, and starting a mirror image in a cluster;
s402: entering the system mirror image, and creating a dock container and a simulator AVD of a designated ABI version;
s403, entering the container and starting a UI-free simulator;
s404: and starting the interface monitoring service of the UI-free simulator, capturing mouse and keyboard input events of a user in a browser, capturing mouse movement coordinates, converting the mouse movement coordinates into actual Android simulator coordinates through scaling, and finally sending the actual Android simulator coordinates back to a server.
5. The method for implementing online IDE according to claim 1, wherein S5 specifically comprises:
s501, selecting and downloading a palm client program corresponding to a kubernetes version through a micro-service integrated palm environment, and executing a palm version;
s502: encapsulating the helm command into a Restful interface based on the micro-service, executing a command process on the installation parameters of the incoming response, and capturing a correct result or an abnormal message;
s503: designing the parameter content of the front form according to different characteristics of different IDEs;
s504: and using interface interaction to deploy so that a user can perform authentication and access of the cloud side ide when the remote browser inputs the access address.
6. An implementation system of an online IDE, comprising:
the image generation module is used for manufacturing a docker image of the IDE through the Dockerfile and pushing the docker image to a Nexus warehouse;
the data packaging module is used for packaging the docker mirror image, the cephfs file storage and preset parameters based on a cloud native helm technology by using a helm logic control statement, wherein the preset parameters comprise a command, an environment and a life cycle;
the cluster deployment module is used for generating a hart installation package aiming at the IDE mirror image, uploading the hart installation package to a Nexus hosting warehouse, and adding a corresponding hart information record in a database to call an instance of the quick deployment of the hart installation package on-line IDE in a cluster;
the reverse control module is used for displaying an interface on a remote Web browser by the Android simulator in the cluster based on the WebSocket and WebRTC technologies and carrying out real-time reverse control on the simulator in the cluster through the browser;
and the authentication access module is used for integrating a helm environment through a micro-service, packaging a helm command into a Restful interface, and deploying by using interface interaction so that a user can perform authentication and access of the cloud side when the remote browser inputs an access address.
7. The system for implementing online IDE of claim 6, wherein the image generation module is specifically configured to:
making a dock mirror image of the rear end by using Intellij IDEA Community Edition of the community edition, or making a dock mirror image of the front end by using VSCODE, or making a dock mirror image of the mobile end by using Android Studio;
customizing, by the Dockerfile, the respective docker mirror image according to a first parameter including at least one of a plug-in, a runtime environment, an environment, and a user variable.
8. The system of claim 6, wherein the cluster deployment module is further configured to:
and using the ceph file storage system to carry out file data mounting so as to set a persistent directory for a user.
9. The system of claim 6, wherein the reverse control module is specifically configured to:
making a system mirror image of an Android appointed system version through a dockerfile, and starting a mirror image in a cluster;
entering the system mirror image, and creating a dock container and a simulator AVD of a designated ABI version;
entering a container to start a UI-free simulator;
and starting the interface monitoring service of the UI-free simulator, capturing mouse and keyboard input events of a user in a browser, capturing mouse movement coordinates, converting the mouse movement coordinates into actual Android simulator coordinates through scaling, and finally sending the actual Android simulator coordinates back to a server.
10. The system according to claim 6, wherein the authentication access module is specifically configured to:
selecting to download a palm client program corresponding to the kubernetes version through a micro-service integrated palm environment, and executing a palm version;
encapsulating the helm command into a Restful interface based on the micro-service, executing a command process on the installation parameters of the incoming response, and capturing a correct result or an abnormal message;
designing the parameter content of the front form according to different characteristics of different IDEs;
and using interface interaction to deploy so that a user can perform authentication and access of the cloud side ide when the remote browser inputs the access address.
CN202311740533.9A 2023-12-18 2023-12-18 Method and system for realizing online IDE Pending CN117707702A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311740533.9A CN117707702A (en) 2023-12-18 2023-12-18 Method and system for realizing online IDE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311740533.9A CN117707702A (en) 2023-12-18 2023-12-18 Method and system for realizing online IDE

Publications (1)

Publication Number Publication Date
CN117707702A true CN117707702A (en) 2024-03-15

Family

ID=90156607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311740533.9A Pending CN117707702A (en) 2023-12-18 2023-12-18 Method and system for realizing online IDE

Country Status (1)

Country Link
CN (1) CN117707702A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118377585A (en) * 2024-06-25 2024-07-23 成都阿加犀智能科技有限公司 Method, device, medium and equipment for applying Docker container in android system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118377585A (en) * 2024-06-25 2024-07-23 成都阿加犀智能科技有限公司 Method, device, medium and equipment for applying Docker container in android system

Similar Documents

Publication Publication Date Title
JP7209034B2 (en) Edge computing test method, apparatus, equipment and readable storage medium
CN109800173B (en) Program debugging method, device and storage medium
CN103237083B (en) A kind of mobile information service resource paradigmatic system and method
WO2010113160A1 (en) A method and system for emulating desktop software applications in a mobile communication network
CN107395747B (en) High-expansion method based on STF platform
EP2517101A1 (en) A method, apparatuses and a system for compilation
CN117707702A (en) Method and system for realizing online IDE
CN110297624B (en) Implementation method of Widget system based on electron framework and television adopting system
CN112114890A (en) Method, device and equipment for processing small program and storage medium
CN116860266A (en) Application containerized deployment method and device, electronic equipment and storage medium
CN103077034A (en) JAVA application migration method and system for hybrid virtualization platform
CN107844486B (en) Method and system for analyzing webpage problems for client
CN110868324A (en) Service configuration method, device, equipment and storage medium
Huang et al. Remote mobile test system: a mobile phone cloud for application testing
CN101699403A (en) Method for graphically installing distributed system
CN111444095A (en) Test platform system and test method of mobile equipment
CN112149035A (en) Website static resource processing method and device
CN113127361A (en) Application program development method and device, electronic equipment and storage medium
JP2004185595A (en) Information processor and program therefor
CN117724803A (en) Cloud service deployment method, device and platform
CN112416698B (en) Expansion method and device of monitoring system, storage medium and electronic equipment
JP2004185594A (en) Image forming apparatus and program execution method
CN110673835A (en) Dynamic assembly type development system, method, computer and computer program
CN110825622A (en) Software testing method, device, equipment and computer readable medium
CN116244186A (en) Operating system test management method and device and computing equipment

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