IP Library Granted Patent US 12,260,204
Granted Patent B2
US 12,260,204 · App. 17/888,688 · Granted Mar 25, 2025

Automatically deploying a development environment on a target system

Inventors: Arie Bregman (Gan-Yavne, IL); David Sariel (Holon, IL)
Assignee: Red Hat, Inc.
G06F8/63G06F8/71
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,260,204
App. No.
17/888,688
Granted
Mar 25, 2025
Kind
B2
Abstract

A deployment engine executing on a computing device can receive a command from a user via a command line interface of the deployment engine. The command can include a predesignated flag for replicating a software development environment that is local to the computing device. The deployment engine can obtain configuration data describing characteristics of the software development environment. The deployment engine can, in response to receiving the command, build an image file based on the configuration data. The image file can be configured for deploying the software development environment inside a virtual guest on a remote computing device.

Claims (41)

1. A non-transitory computer-readable medium comprising program code for a deployment engine that is executable by a processor of a computing device to:

receive a command from a user via a command line interface of the deployment engine, the command including a predesignated flag for replicating a software development environment that is local to the computing device;

obtain configuration data describing characteristics of the software development environment;

in response to receiving the command, build an image file based on the configuration data, the image file being configured for deploying the software development environment; and

transmit the image file to a test environment, the test environment being configured to receive the image file and responsively deploy the software development environment using the image file, wherein the test environment is configured to deploy the software development environment inside a container or a virtual machine.

2. The non-transitory computer-readable medium of claim 1 , wherein the deployment engine is further executable by the processor to obtain the configuration data from a predefined configuration file, the predefined configuration file specifying software characteristics of the software development environment, the predefined configuration file being stored on the computing device prior to receiving the command.

3. The non-transitory computer-readable medium of claim 1 , wherein the deployment engine is further executable by the processor to obtain the configuration data by performing an introspection process on the computing device, the introspection process involving collecting information about a software configuration of the computing device.

4. The non-transitory computer-readable medium of claim 1 , wherein the deployment engine is further executable by the processor to:

determine a set of software components to incorporate into the image file based on the characteristics of the software development environment; and

build the image file by incorporating the set of software components into the image file.

5. The non-transitory computer-readable medium of claim 4 , wherein the set of software components includes a package, a library, a data file, and a directory.

6. The non-transitory computer-readable medium of claim 1 , wherein the predesignated flag corresponds to logic integrated into the deployment engine, the deployment engine being configured to execute the logic in response to receiving the command with the flag, the logic being configured to cause the deployment engine to build the image file based on the configuration data.

7. The non-transitory computer-readable medium of claim 1 , wherein the deployment engine is a container deployment engine or a virtual machine deployment engine.

8. A method comprising:

receiving, by a deployment engine executing on a computing device, a command from a user via a command line interface of the deployment engine, the command including a predesignated flag for replicating a software development environment that is local to the computing device;

obtaining, by the deployment engine, configuration data describing characteristics of the software development environment;

in response to receiving the command, building, by the deployment engine, an image file based on the configuration data, the image file being configured for deploying the software development environment; and

transmitting, by the computing device, the image file to a test environment, wherein the test environment receives the image file and responsively deploys the software development environment using the image file, wherein the test environment deploys the software development environment inside a container or a virtual machine.

9. The method of claim 8 , further comprising:

obtaining, by the deployment engine, the configuration data from a predefined configuration file, the predefined configuration file specifying software characteristics of the software development environment, the predefined configuration file being stored on the computing device prior to receiving the command.

10. The method of claim 8 , further comprising:

obtaining, by the deployment engine, the configuration data by performing an introspection process on the computing device, the introspection process involving collecting information about a software configuration of the computing device.

11. The method of claim 8 , further comprising:

determining a set of software components to incorporate into the image file based on the characteristics of the software development environment; and

building the image file by incorporating the set of software components into the image file.

12. The method of claim 8 , wherein the predesignated flag corresponds to logic integrated into the deployment engine, the deployment engine being configured to execute the logic in response to receiving the command with the flag, the logic being configured to cause the deployment engine to build the image file based on the configuration data.

13. The method of claim 8 , wherein the deployment engine is a container deployment engine or a virtual machine deployment engine.

14. A computing device comprising:

a software development environment;

a processor; and

a memory including instructions for a deployment engine that is executable by the processor to:

obtain configured data describing characteristics of the software development environment by performing an introspection process on the computing device, the introspection process involving collecting information about a software configuration of the computing device;

receive a command from a user via a command line interface of the deployment engine, the command including a predesignated flag for replicating the software development environment that is local to the computing device, the predesignated flag corresponding to logic integrated into the deployment engine, the deployment engine being configured to execute the logic in response to receiving the command with the flag, the logic being configured to cause the deployment engine to build an image file based on the configuration data describing the characteristics of the software development environment; and

in response to receiving the command, execute, by the deployment engine, the logic to build the image file based on the configuration data, the image file being configured for deploying the software development environment inside a virtual guest on a remote computing device.

15. The computing device of claim 14 , wherein the deployment engine is further executable by the processor to obtain the configuration data from a predefined configuration file, the predefined configuration file specifying software characteristics of the software development environment, the predefined configuration file being stored on the computing device prior to receiving the command.

16. The computing device of claim 14 , wherein the deployment engine is further executable by the processor to:

determine a set of software components to incorporate into the image file based on the characteristics of the software development environment; and

build the image file by incorporating the set of software components into the image file.

17. The computing device of claim 16 , wherein the set of software components includes a package and a library.

18. The computing device of claim 14 , wherein the remote computing device corresponds to a test environment, and wherein the instructions are further executable by the processor to transmit the image file to the test environment, the test environment being configured to receive the image file and responsively deploy the software development environment inside the virtual guest on the remote computing device using the image file.

19. The computing device of claim 14 , wherein the deployment engine is a container deployment engine or a virtual machine deployment engine.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2022
From: BREGMAN, ARIE; SARIEL, DAVID
To: RED HAT, INC.
Reel/Frame 060817/0682 →
Continuity (1)
Related Publication 20240061666A1 · Feb 22, 2024
References Cited (36)
US 8489929B2 · Lam et al. · 2013 [cited by applicant]
US 9916233B1 · Qureshi · 2018 [cited by examiner]
US 10042661B1 · Emelyanov · 2018 [cited by examiner]
US 10114627B2 · Bergen · 2018 [cited by examiner]
US 10459823B1 · Lieberman · 2019 [cited by examiner]
US 10467121B2 · Natari · 2019 [cited by examiner]
US 10503484B2 · Zhang · 2019 [cited by examiner]
US 10572226B2 · Biskup · 2020 [cited by examiner]
US 10761765B2 · Duggal · 2020 [cited by examiner]
US 11733974B2 · Orozco Cervantes · 2023 [cited by examiner]
US 20100293144A1 · Bonnet · 2010 [cited by applicant]
US 20160239296A1 · Ahuja · 2016 [cited by examiner]
US 20180239802A1 · Fabijancic · 2018 [cited by examiner]
US 20180285139A1 · Shapira · 2018 [cited by examiner]
US 20190303187A1 · Vu · 2019 [cited by examiner]
US 20200117434A1 · Biskup · 2020 [cited by examiner]
US 20210141645A1 · Kramer · 2021 [cited by examiner]
US 20220012049A1 · Vincent · 2022 [cited by examiner]
US 20220043641A1 · Nagar · 2022 [cited by examiner]
US 20220197689A1 · Hotinger · 2022 [cited by examiner]
US 20220308861A1 · Frackiewicz · 2022 [cited by examiner]
US 20230244467A1 · O'Connor · 2023 [cited by examiner]
US 20230359457A1 · Van Der Hoorn · 2023 [cited by examiner]
US 20240078116A1 · Kramer · 2024 [cited by examiner]
US 20240095028A1 · McCarthy · 2024 [cited by examiner]
CN 106598681A · 2017 [cited by applicant]
CN 105824614B · 2019 [cited by applicant]
CN 112698919A · 2021 [cited by applicant]
CN 111897551B · 2021 [cited by applicant]
CN 114047937A · 2022 [cited by examiner]
CN 114594994A · 2022 [cited by applicant]
CN 114756246A · 2022 [cited by examiner]
Savusalo, Tuomas. Application for managing container-based software development environments. MS thesis. T. Savusalo—University of Oulu, Faculty of Information Technology and Electrical Engineering—Apr. 2023. [cited by examiner]
English Text Translation for Document No. CN-114047937-A. [cited by examiner]
Savusalo T. (2023) Application for managing container-based software development environments. University of Oulu, Degree Program in Computer Science and Engineering. Master's Thesis. Apr. 2023. [cited by examiner]
Ludwigson, Elli, “Docker containers vs VMs for quick consistent local dev,” https://ddev.com/ddev-local/docker-containiners-vs-vms-for-quick-consistent-local-dev/, Jun. 12, 2018; pp. 1-11. [cited by applicant]
Cited By (1)
US 12,461,722