Search

US-12619397-B2 - System and method for code development tools existing within code container

US12619397B2US 12619397 B2US12619397 B2US 12619397B2US-12619397-B2

Abstract

An embodiment of the present invention may enable editing and deployment of software by including in an application container editable source code used to produce an application, and tools to edit and build the application, such as a code editor and a build tool to convert the source code to the executable application. The container may include an executable application which may execute in the environment on which the container is saved. A server in the container may control execution of the executable application and build the executable application. A remote user computer may communicate with the code editor to edit the source code, which in its updated version may be built to produce an updated version of the executable application. The server may stop execution of the existing executable application, and start execution of the updated version of the executable application.

Inventors

  • Viraj Sanjay Pangam

Assignees

  • MORGAN STANLEY SERVICES GROUP INC.

Dates

Publication Date
20260505
Application Date
20240312

Claims (15)

  1. 1 . A method for deploying and editing software, the method comprising using one or more computer processors executing instructions: bundling, using a processor of the one or more computer processors, in an application container an executable application; source code used to produce the executable application; a code editor; and a server to control execution of the executable application and to build the executable application; the code editor communicating with a remote process, a user interacting with and providing input to the remote process, to edit the source code to produce updated source code; and the server building an updated version of the executable application, stopping execution of the executable application, replacing the executable application with the updated version of the executable application, and starting execution of the updated version of the executable application; the server building the updated version of the executable application using the updated source code and the application container comprising: an application directory comprising the executable application; and a build and deploy directory comprising the source code; the code editor; and the server.
  2. 2 . The method of claim 1 , wherein the remote process is a browser connecting with the code editor via a uniform resource locator (URL), the browser providing editing functionality to accept input from a user to edit the source code.
  3. 3 . The method of claim 1 , wherein the application container comprises a build tool.
  4. 4 . The method of claim 1 , wherein the server and executable application execute in the container.
  5. 5 . The method of claim 1 , wherein the server serves the code editor.
  6. 6 . A system for deploying and editing software, the system comprising: a memory comprising an application container comprising: an executable application; source code used to produce the executable application; a code editor; and a server to control execution of the executable application and to build the executable application; and a processor configured to: execute the code editor so the code editor communicates with a remote process to edit the source code to produce updated source code, a user interacting with and providing input to the remote process; and execute the server so the server builds an updated version of the executable application, stops execution of the executable application, replaces the executable application with the updated version of the executable application, and starts execution of the updated version of the executable application; and wherein the server is to build the updated version of the executable application using the updated source code; wherein the application container comprises: an application directory comprising the executable application; and a build and deploy directory comprising the source code; the code editor; and the server.
  7. 7 . The system of claim 6 , wherein the remote process is a browser connecting with the code editor via a uniform resource locator (URL), the browser providing editing functionality to accept input from a user to edit the source code.
  8. 8 . The system of claim 6 , wherein the application container comprises a build tool.
  9. 9 . The system of claim 6 , wherein the server and executable application execute in the container.
  10. 10 . The system of claim 6 , wherein the server serves the code editor.
  11. 11 . A method for deploying and editing software, the method comprising, using one or more processors: a code editor executed by a processor of the one or more processors and comprised in an application container and communicating with a remote process to edit source code comprised in the application container and producing updated source code, a user interacting with and providing input to the remote process; and a server executed by a processor of the one or more processors and comprised in the application container and using the updated source code to compile an executable application to produce an updated executable application, stopping the executable application, replacing the executable application with the updated executable application, and starting execution of the updated executable application; and wherein the application container comprises: an application directory comprising the executable application; and a build and deploy directory comprising the source code; the code editor; and the server.
  12. 12 . The method of claim 11 , wherein the remote process is a browser connecting with the code editor via a uniform resource locator (URL), the browser providing editing functionality to accept input from a user to edit the source code.
  13. 13 . The method of claim 11 , wherein the application container comprises a build tool.
  14. 14 . The method of claim 11 , wherein the server and executable application execute in the container.
  15. 15 . The method of claim 11 , wherein the server serves the code editor.

Description

PRIOR APPLICATION DATA This application is a continuation of prior U.S. application Ser. No. 18/350,289, filed on Jul. 11, 2023, incorporated herein by reference in its entirety. FIELD OF THE INVENTION The present invention relates generally to code development for software, for example including bundling a code editor and build tools within a software application container. BACKGROUND OF THE INVENTION Computer systems and technologies exist to edit and develop computer software. Such software is often deployed using container technology to run applications. Containerization may be a virtualization technique allowing software applications to be run in isolated user spaces called containers, in different environments. Containers may be fully functional and portable computing environments surrounding the application and keeping them independent from other parallelly running environments. A container may package code and its dependencies so the application runs quickly and reliably across different computing environments. A container-based deployment is different from a traditional deployment (e.g. from a particular server or virtual machine (VM)). Each container may be built with and include a different operating system image, and these different containers can run on a particular operating system. A container may execute as an isolated process. To enable this the host operating system (OS) may support a container engine such as provided by the Docker system which is capable of running a containerized application. The host OS kernel may be shared among all the containers. However, the container development cycle, e.g. build and test, is expensive when the application developers test their applications in an environment lower than that of production, such as a quality assurance (QA) environment (e.g., non-production, non-local development environment, where the local environment is typically the computer of the application developer). For example, in the case that a developer forgets to put a simple log statement in code while investigating an issue, or needs to log additional information, the developer may have to go through the entire process of, e.g.: 1) Pushing the change to a change management system like the Git system;2) Triggering a build on a build server which may involve:a. Checking out the code, e.g. from the Git system;b. Building the application;c. Running unit test cases;d. Packaging the build artifacts and dependencies into a container; ande. Pushing the container to some repository; and3) Perform the deployment to the required environment. This lengthens the time it takes to develop software. SUMMARY OF THE INVENTION An embodiment of the present invention may enable editing and deployment of software by including in an application container editable source code used to produce an application, and tools to edit and build the application, such as a code editor and a build tool to convert the source code to the executable application. The container may include an executable application which may execute in the environment on which the container is saved. A server in the container may control execution of the executable application and build the executable application. A remote user computer may communicate with the code editor to edit the source code, which in its updated version may be built to produce an updated version of the executable application. The server may stop execution of the existing executable application, and start execution of the updated version of the executable application. A system and method may deploy and allow for quick and easy editing of software. A process may bundle or save in a data structure, such as an application container, components such as an executable application; source code used to produce the executable application; a code editor; and a server to control execution of the executable application and to build the executable application. The code editor may communicate with a remote process (e.g. a web browser on a user computer remote from the location of the container) to edit the source code to produce updated source code. The server may compile or build an updated version of the executable application based on the updated source code, stop execution of the executable application, and start execution of the updated version of the executable application. BRIEF DESCRIPTION OF THE DRAWINGS Non-limiting examples of embodiments of the disclosure are described below with reference to figures listed below. The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanied drawings. FIG. 1 depicts a system according to embodiments of the present invention. FIG.