IP Library Granted Patent US 12,190,138
Granted Patent B2
US 12,190,138 · App. 17/986,707 · Granted Jan 7, 2025

Continuous integration emulator

Inventors: Anurag Negi (Pauri Garhwal, IN); Krishna Prasad P (Kasaragod, IN); Abhinav Srivastava (Gorakhpur, IN)
Assignee: SAP SE
G06F9/45508G06F9/3867G06F11/0793
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,190,138
App. No.
17/986,707
Granted
Jan 7, 2025
Kind
B2
Abstract

A method for implementing a continuous integration emulator includes receiving, by a continuous integration emulator running locally on a client device, a modification to code of a continuous integration pipeline running on a continuous integration server in communication with the client device. The method includes parsing at least a portion of the code of the continuous integration pipeline. The method includes determining at least one programming language construct of at least the parsed portion of the code of the continuous integration pipeline. The method includes executing the at least one programming language construct including the modification. The method includes indicating, by the continuous integration emulator and via the client device, whether the modification is successful. Related systems and articles of manufacture are provided.

Claims (45)

1. A system, comprising:

at least one data processor; and

at least one memory result in operations comprising:

receiving, by a continuous integration emulator running locally on a client device, a modification to code of a continuous integration pipeline running on a continuous integration server in communication with the client device;

parsing, by the continuous integration emulator, at least a portion of the code of the continuous integration pipeline;

generating a schematic representation of at least the parsed portion of the code using stored parts and stages of at least the parsed portion of the code;

displaying, via the client device, the schematic representation of at least the parsed portion of the code;

determining, by the continuous integration emulator, at least one programming language construct of at least the parsed portion of the code of the continuous integration pipeline;

executing, by the continuous integration emulator and locally at the client device, the at least one programming language construct including the modification, wherein the executing emulates running of at least the portion of the code of the continuous integration pipeline on the continuous integration server; and

indicating, by the continuous integration emulator and via the client device, whether the modification is successful.

2. The system of claim 1 , wherein the operations further comprise:

determining a programming language type of the code of the continuous integration pipeline; and

wherein the parsing is based on the programming language type.

3. The system of claim 1 , wherein the schematic representation provides an overview of at least the parsed portion of the code that has been executed by the continuous integration emulator.

4. The system of claim 1 , wherein the determined at least one programming language construct is containerized for execution.

5. The system of claim 1 , wherein the operations further comprise: identifying an error in the code of the continuous integration pipeline; and generating a recommendation for correcting the error.

6. The system of claim 1 , wherein at least one programming construct includes at least one process to be invoked by the continuous integration emulator.

7. The system of claim 1 , wherein the operations further comprise: updating the continuous integration pipeline running on the continuous integration server to include the modification based on a determination that the modification is successful.

8. A computer-implemented method, comprising:

receiving, by a continuous integration emulator running locally on a client device, a modification to code of a continuous integration pipeline running on a continuous integration server in communication with the client device;

parsing, by the continuous integration emulator, at least a portion of the code of the continuous integration pipeline;

generating a schematic representation of at least the parsed portion of the code using stored parts and stages of at least the portion of the code;

displaying, via the client device, the schematic representation of at least the parsed portion of the code;

determining, by the continuous integration emulator, at least one programming language construct of at least the parsed portion of the code of the continuous integration pipeline;

executing, by the continuous integration emulator and locally at the client device, the at least one programming language construct including the modification, wherein the executing emulates running of at least the portion of the code of the continuous integration pipeline on the continuous integration server; and

indicating, by the continuous integration emulator and via the client device, whether the modification is successful.

9. The method of claim 8 , further comprising: determining a programming language type of the code of the continuous integration pipeline; and wherein the parsing is based on the programming language type.

10. The method of claim 8 , wherein the schematic representation provides an overview of at least the parsed portion of the code that has been executed by the continuous integration emulator.

11. The method of claim 8 , wherein the determined at least one programming language construct is containerized for execution.

12. The method of claim 8 , further comprising: identifying an error in the code of the continuous integration pipeline; and generating a recommendation for correcting the error.

13. The method of claim 8 , wherein at least one programming construct includes at least one process to be invoked by the continuous integration emulator.

14. The method of claim 8 , further comprising: updating the continuous integration pipeline running on the continuous integration server to include the modification based on a determination that the modification is successful.

15. A non-transitory computer-readable medium storing instructions, which when executed by at least one data processor, result in operations comprising:

receiving, by a continuous integration emulator running locally on a client device, a modification to code of a continuous integration pipeline running on a continuous integration server in communication with the client device;

parsing, by the continuous integration emulator, at least a portion of the code of the continuous integration pipeline;

generating a schematic representation of at least the parsed portion of the code using stored parts and stages of at least the portion of the code;

displaying, via the client device, the schematic representation of at least the parsed portion of the code;

determining, by the continuous integration emulator, at least one programming language construct of at least the parsed portion of the code of the continuous integration pipeline;

executing, by the continuous integration emulator and locally at the client device, the at least one programming language construct including the modification, wherein the executing emulates running of at least the portion of the code of the continuous integration pipeline on the continuous integration server; and

indicating, by the continuous integration emulator and via the client device, whether the modification is successful.

16. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise: determining a programming language type of the code of the continuous integration pipeline; and wherein the parsing is based on the programming language type.

17. The non-transitory computer-readable medium of claim 15 , wherein the schematic representation provides an overview of at least the parsed portion of the code that has been executed by the continuous integration emulator.

18. The non-transitory computer-readable medium of claim 15 , wherein the determined at least one programming language construct is containerized for execution.

19. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise: identifying an error in the code of the continuous integration pipeline; and generating a recommendation for correcting the error.

20. The non-transitory computer-readable medium of claim 15 , wherein at least one programming construct includes at least one process to be invoked by the continuous integration emulator.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2022
From: NEGI, ANURAG; P, KRISHNA PRASAD; SRIVASTAVA, ABHINAV
To: SAP SE
Reel/Frame 061764/0094 →
Continuity (1)
Related Publication 20240160459A1 · May 16, 2024
References Cited (10)
US 11537400B1 · Zhang · 2022 [cited by examiner]
US 11675583B2 · Roy · 2023 [cited by examiner]
US 11726854B2 · Bregman · 2023 [cited by examiner]
US 20200104246A1 · Bhatt · 2020 [cited by examiner]
US 20220342685A1 · Tripathy · 2022 [cited by examiner]
US 20230168996A1 · Bregman · 2023 [cited by examiner]
US 20230409305A1 · Bregman · 2023 [cited by examiner]
US 20240036962A1 · Damjakob · 2024 [cited by examiner]
Damjakob, “System and method for product/service discovery and lifecycle management”, Jul. 2022, U.S. Appl. No. 63/393,641 (Year: 2022). [cited by examiner]
Roy, “Using Continuous Deployment techniques to manage software change at a WLCG Tier-2”, 2019, Journal of Physics: Conference Series (Year: 2019). [cited by examiner]