Device, system, and method for continuously enhancing the implementation of code changes through an enhanced pipeline

The system optimizes monorepo development by autonomously detecting and executing tasks on changed files, improving efficiency and reducing waste in software development processes.

JP2025534996APending Publication Date: 2025-10-22BLUEVOYANT LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025517984
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-09-27
Filing Date
2023-09-18
Publication Date
2025-10-22

AI Technical Summary

Technical Problem

Traditional monorepo systems inefficiently deploy a single pipeline for all tasks, leading to wasted computing resources and developer time due to unnecessary testing across large amounts of code, especially for smaller projects.

Method used

A system and method that utilizes a continuous integration server to autonomously detect changes in a subset of project-specific files, generating and executing specific tasks or pipelines only on those changed files, thereby optimizing resource use and streamlining the development process.

Benefits of technology

Enhances the implementation of code changes by reducing computational and human resource waste, allowing for faster and more efficient software development with automated, targeted task execution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025534996000001_ABST
    Figure 2025534996000001_ABST
Patent Text Reader

Abstract

Disclosed herein is a continuous integration server configured to enhance implementation of code changes, the continuous integration server including a processor and a memory configured to store a continuous integration platform that, when executed by the processor, causes the continuous integration server to access a plurality of project-specific files hosted on a repository server, determine that a subset of the plurality of project-specific files has changed, generate a specific task associated exclusively with the changed subset of the plurality of project-specific files, and send the specific task to a software development server configured to perform the specific task, wherein execution of the specific task exclusively affects the changed subset of the plurality of project-specific files.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application is related to U.S. Provisional Patent Application No. 63 / 377,304, filed September 27, 2022, and entitled "DEVICES, SYSTEMS, AND METHODS FOR CONTINUOUSLY ENHANCING THE IMPLEMENTATION OF CODE CHANGES VIA ENRICHED PIPELINES," the disclosure of which is hereby incorporated by reference in its entirety.

[0002] The present disclosure relates generally to network security, and more particularly to improved devices, systems, and methods for continuously implementing code changes through a pipeline enriched with specific information about the code changes. Summary of the Invention [Means for solving the problem]

[0003] The following summary is provided to facilitate an understanding of some of the innovative features unique to the embodiments disclosed herein and is not intended to be a complete description, although a complete understanding of the various embodiments can be obtained by considering the specification, claims, and abstract together.

[0004] In various aspects, a method for enhancing implementation of code changes is disclosed. The method may include accessing, via a continuous integration platform, a plurality of project-specific files hosted on a repository server, the repository server configured as a monolithic repository configured to host the plurality of project-specific files, determining, via the continuous integration platform, that a subset of the plurality of project-specific files has changed, generating, via the continuous integration platform, a specific task associated exclusively with the changed subset of the plurality of project-specific files, and transmitting, via the continuous integration platform, the specific task to a software development server configured to perform the specific task, wherein execution of the specific task exclusively affects the changed subset of the plurality of project-specific files.

[0005] In various aspects, a system configured to enhance implementation of code changes is disclosed, the system including a software development server, a repository server configured to host a plurality of project-specific files, and a continuous integration server, the continuous integration server including a processor and a memory configured to store a continuous integration platform, the continuous integration platform, when executed by the processor, causing the continuous integration server to access the plurality of project-specific files hosted on the repository server, determine that a subset of the plurality of project-specific files has changed, generate a specific task associated exclusively with the changed subset of the plurality of project-specific files, and send the specific task to the software development server, the software development server configured to execute the specific task, wherein execution of the specific task exclusively affects the changed subset of the plurality of project-specific files.

[0006] In various aspects, a continuous integration server configured to enhance implementation of code changes is disclosed, the continuous integration server including a processor and a memory configured to store a continuous integration platform that, when executed by the processor, causes the continuous integration server to access a plurality of project-specific files hosted on a repository server, determine that a subset of the plurality of project-specific files has changed, generate a specific task associated exclusively with the changed subset of the plurality of project-specific files, and send the specific task to a software development server configured to execute the specific task, wherein execution of the specific task exclusively affects the changed subset of the plurality of project-specific files.

[0007] These and other objects, features, and characteristics of the present invention, as well as the method of operation, function of the associated structural elements, combination of parts, and economies of manufacture, will become more apparent from a consideration of the following description and appended claims, which refer to the accompanying drawings, all of which form a part of this specification, and in which like reference characters indicate corresponding parts in the various views. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended as a definition of the limits of the invention.

[0008] Various features of the aspects described herein are set forth with particularity in the appended claims. However, various aspects, both as to organization and method of operation, and their advantages may be understood by reading the following description in conjunction with the accompanying drawings, as set forth below. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 1 illustrates a block diagram of a system configured to enhance implementation of code changes via an enhanced pipeline, in accordance with at least one non-limiting aspect of the present disclosure. [Figure 2]FIG. 2 illustrates a block diagram of some tasks generated by the system of FIG. 1 in accordance with at least one non-limiting aspect of the present disclosure. [Figure 3] FIG. 3 illustrates a pipeline generated by the system of FIG. 1 in accordance with at least one non-limiting aspect of the present disclosure. [Figure 4] FIG. 4 illustrates a method for enhancing implementation of code changes via an enhanced pipeline in accordance with at least one non-limiting aspect of the present disclosure. [Figure 5] FIG. 5 illustrates a security information and event management system (“SIEM”) configured to benefit from the system of FIG. 1 and the method of FIG. 4 in accordance with at least one non-limiting aspect of the present disclosure.

[0010] Corresponding reference characters indicate corresponding parts throughout the several views. The examples described herein illustrate various aspects of the present invention in one form and are not to be construed as limiting the scope of the invention in any way. DETAILED DESCRIPTION OF THE INVENTION

[0011] The applicant of the present application owns the following US provisional patent applications, the disclosures of each of which are incorporated herein by reference in their entirety: - U.S. Provisional Patent Application No. 63 / 294,570, filed December 29, 2021, entitled DEVICES, SYSTEMS, AND METHODS FOR PROVISIONING AND UPDATING SECURITY INFORMATION & EVENT MANAGEMENT ARTIFACTS FOR MULTIPLE TENANTS; - U.S. Provisional Patent Application No. 63 / 295,150, filed December 30, 2021, entitled DEVICES, SYSTEMS, AND METHODS FOR STREAMLINING AND STANDARDIZING THE INGEST OF SECURITY DATA ACROSS MULTIPLE TENANTS; - U.S. Provisional Patent Application No. 63 / 302,828, filed January 25, 2022, entitled DEVICES, SYSTEMS, AND METHODS FOR REMOTELY MANAGING ANOTHER ORGANIZATION'S SECURITY ORCHESTRATION, AUTOMATION, AND RESPONSE; - U.S. Provisional Patent Application No. 63 / 313,422, filed February 24, 2022, entitled DEVICES, SYSTEMS, AND METHODS FOR IDENTIFYING CYBER ASSETS AND GENERATING CYBER RISK MITIGATION ACTION BASED ON DOMAIN REDIRECTS; - U.S. Provisional Patent Application No. 63 / 341,264, entitled DEVICES, SYSTEMS, AND METHODS FOR SUMMARIZING ANALYTIC OBSERVATIONS, filed May 12, 2022; - U.S. Provisional Patent Application No. 63 / 344,305, filed May 20, 2022, entitled DEVICES, SYSTEMS, AND METHODS FOR INGESTING & ENRICHING SECURITY INFORMATION TO AUTONOMOUSLY SECURE A PLURALITY OF TENANT NETWORKS; - U.S. Provisional Patent Application No. 63 / 345,679, filed May 25, 2022, entitled DEVICES, SYSTEMS, AND METHODS FOR IDENTIFYING CYBER ASSETS AND GENERATING CYBER RISK MITIGATION ACTIONS BASED ON A DEMOCRATIC MATCHING ALGORITHM; - International Patent Application No. PCT / US22 / 72739, filed June 3, 2022, entitled DEVICES, SYSTEMS, AND METHODS FOR ENHANCING SECURITY INFORMATION & EVENT MANAGEMENT UPDATES FOR MULTIPLE TENANTS BASED ON CORRELATED, AND SYNERGISTIC DEPLOYMENT NEEDS; - International Patent Application No. PCT / US22 / 72743, filed June 3, 2022, entitled DEVICES, SYSTEMS, AND METHODS FOR STANDARDIZING & STREAMLINING THE DEPLOYMENT OF SECURITY INFORMATION & EVENT MANAGEMENT ARTIFACTS FOR MULTIPLE TENANTS; - U.S. Provisional Patent Application No. 63 / 365,819, entitled DEVICES, METHODS, AND SYSTEMS FOR GENERATING A HIGHLY-SCALABLE, EFFICIENT COMPOSITE RECORD INDEX, filed June 3, 2022; - U.S. Provisional Patent Application No. 63 / 353,992, filed June 21, 2022, entitled DEVICES, SYSTEMS, AND METHODS FOR CATEGORIZING, PRIORITIZING, AND MITIGATING CYBER SECURITY RISKS; - U.S. Provisional Patent Application No. 63 / 366,903, filed June 23, 2022, entitled DEVICES, SYSTEMS, AND METHOD FOR GENERATING AND USING A QUERYABLE INDEX IN A CYBER DATA MODEL TO ENHANCE NETWORK SECURITY; - U.S. Provisional Patent Application No. 63 / 368,567, filed July 15, 2022, entitled "DEVICES, SYSTEMS, AND METHODS FOR UTILIZING A NETWORKED, COMPUTER-ASSISTED, THREAT HUNTING PLATFORM TO ENHANCE NETWORK SECURITY"; - U.S. Provisional Patent Application No. 63 / 369,582, filed July 27, 2022, entitled AUTONOMOUS THREAT SCORING AND SECURITY ENHANCEMENT.

[0012] Numerous specific details are set forth in this disclosure to provide a thorough understanding of the overall structure, function, manufacture, and use of the embodiments described in the accompanying drawings. Well-known operations, components, and elements have not been described in detail so as not to obscure the embodiments described herein. The reader will understand that the embodiments described and illustrated herein are non-limiting embodiments. Accordingly, it will be understood that specific structural and functional details disclosed herein may be representative and exemplary.

[0013] Before describing various aspects of the systems and methods disclosed herein in detail, it should be noted that the illustrative aspects are not limited to the details disclosed in the accompanying drawings and description. It should be understood that the illustrative aspects may be implemented or incorporated in other aspects, variations, and modifications, and may be practiced or carried out in various ways. Furthermore, unless otherwise indicated, the terms and phrases used herein have been chosen for the convenience of the reader to describe the illustrative aspects and are not intended to be limiting thereof. For example, it will be understood that any reference to a particular manufacturer, software suite, application, or development platform disclosed herein is intended merely to illustrate some of the many aspects of the present disclosure. This includes any trademark references. It should therefore be understood that the devices, systems, and methods disclosed herein can be implemented to enhance any software update according to any intended use and / or user preference.

[0014] As used herein, the term "server" may refer to or include one or more computing devices that operate through or facilitate communication and processing for multiple parties in a network environment, such as the Internet or any public or private network. As used herein, references to a "server" or "processor" may refer to previously enumerated servers and / or processors that are enumerated as performing the previous steps or functions, different servers and / or processors and / or combinations of servers and / or processors.

[0015] As used herein, the term "network" can include the entire enterprise information technology ("IT") system deployed by a tenant. For example, a network can include a group of two or more nodes (e.g., assets) connected by any physical and / or wireless connection and configured to communicate and share information with one or more other nodes. However, the term network is not limited to any particular nodes or any particular means of connecting those nodes. A network can include any combination of assets (e.g., devices, servers, desktop computers, laptop computers, personal digital assistants, mobile phones, wearables, smart appliances, etc.) connected via Ethernet, intranet, and / or extranet and configured to communicate with each other via ad hoc connections (e.g., Bluetooth, near field communication (NFC), etc.), local area connections ("LANs"), wireless local area networks ("WLANs"), and / or virtual private networks ("VPNs"), regardless of the physical location of each device. The network may further include any tools, applications, and / or services deployed by the devices or otherwise utilized by the enterprise IT systems, such as firewalls, email clients, document management systems, office systems, etc. In some non-limiting aspects, the "network" may include third-party devices, applications, and / or services that are owned and controlled by a third party, but that the tenant is authorized to access the enterprise IT systems.

[0016] As used herein, the term "platform" may include a software architecture, a hardware architecture, and / or a combination thereof. A platform may include either a standalone software product, a network architecture, and / or a software product configured to be integrated into a software architecture and / or a hardware architecture as needed to provide its technical benefits to the software product. For example, a platform may include any combination of a chipset, a processor, a logic-based device, memory, storage, a graphical user interface, a graphics subsystem, applications, and / or a communications module (e.g., a transceiver). In other words, a platform may provide the resources necessary to enable the technical benefits provided by the software. According to some non-limiting aspects, the technical benefits provided by the software are provided to physical resources of the ecosystem or to other software employed by physical resources within the ecosystem (e.g., APIs, services, etc.). According to other non-limiting aspects, a platform may include a framework for several software applications intended and designed to function together.

[0017] As used herein, the term "repository" may include any version control system and / or source control system, including any system and / or platform configured to track and / or manage changes to software code. For example, a repository may include Git, Subversion, Concurrent Versions System ("CVS"), Microsoft Azure, Darcs, and / or Mercurial, among others.

[0018] Continuous integration is a software development practice in which all developers merge code into a single repository multiple times per day. There are two main types of known repository structures in which developers can implement continuous integration. As used herein, a monolithic repository or "monorepo" may refer to a single version-controlled code repository configured to contain code associated with many projects. For example, many large companies, such as Google, Microsoft, Facebook, and Twitter, choose to host all code in a single monolithic repository shared across their entire development team. As such, monorepos can reach enormous sizes, exceeding tens to hundreds of terabytes, and must be configured to support hundreds of commits per day. Specific projects may be related but logically independent and run by different teams. Therefore, many developers choose to organize their code alternately by narrowing project-specific boundaries into multiple repositories or "multirepos," as that term is used herein. Developers can therefore make case-by-case decisions about which code should be stored in which project-specific multirepos. However, multirepos are inherently siloed. While monorepos can enable the establishment of relationships and / or a certain degree of interoperability between projects, multi-repos cannot do without the integration of monorepos. In other words, monorepos allow for comprehensive and unified code storage that is not possible with multi-repos. An added benefit of monorepo-based software management is the ability to track which versions of software can be deployed together.

[0019] However, while monorepos make it easier to manage relationships between different project-specific codes, performing tasks across the large amount of content in a monorepo can be more difficult. For example, traditional monorepo tools typically deploy a single, comprehensive, otherwise unmodified pipeline configured to perform all tasks, regardless of how small or limited the scope of the code changes. This can lead to inefficient use of computing resources and / or developer time because monorepos run tests across all of the code, regardless of how small a particular change is. In other words, while monorepos can be beneficial for large-scale development of software, they are less ideal for efficiently implementing code changes for smaller projects. Thus, there is a need for devices, systems, and methods for continuously enhancing the implementation of code changes through an enhanced pipeline. Such devices, systems, and methods enable a streamlined developer experience in software development so that developers do not have to wait to build, deploy, or test changes in unnecessary ways.

[0020] Furthermore, devices, systems, and methods for continuously enhancing the implementation of code changes through an enhanced pipeline can be effectively integrated into software development tools and architectures, offering numerous technical improvements over traditional tools deployed to interface with monorepos. For example, such devices, systems, and methods can automate the delivery of software, assembly code, and execution tests, and autonomously and safely deploy new versions of applications based on a detected subset of selected files that have changed, instead of wasting computational resources dealing with the time spent dealing with all changed and unchanged files in a monorepo. This allows development teams to accomplish more with fewer human resources, computational resources, and time. Furthermore, the systems and methods disclosed herein can autonomously detect specific changes without human input, thereby making continuous integration truly continuous and ensuring that builds of a particular project are monitored and deployed regardless of the date or time changes were implemented by the development team.

[0021] Referring now to FIG. 1 , a block diagram of a system 100 configured to enhance implementation of code changes through an enhanced pipeline is depicted in accordance with at least one non-limiting aspect of the present disclosure. According to the non-limiting aspect of FIG. 1 , the system 100 comprises a continuous integration server 102, a repository server 104, and a software development server 106 communicatively coupled via a network, such as the Internet 108, or any other means of network communication (e.g., a cellular network, an intranet, etc.). Of course, according to other non-limiting aspects, the continuous integration server 102, the repository server 104, and the software development server 106 may be one of multiple servers specifically implemented for the particular functionality described herein with reference to each. For example, the repository server 104 may be one of multiple repository servers configured to perform the functionality disclosed herein with reference to the repository server 104 of FIG. 1 . It should further be understood that each of the continuous integration server 102, the repository server 104, and the software development server 106 may include a memory communicatively coupled to a processor.

[0022] 1 , the continuous integration server 102 may include a memory configured to store a continuous integration platform 110 that, when executed by a processor of the continuous integration server 102, causes the continuous integration server 102 to interact with the repository server 104 and the software development server 106 in accordance with the functions and methods disclosed herein. The continuous integration platform 110 may enable the continuous integration server 102 to act as a third-party interface between the repository server 104 and the software development server 106. In particular, the continuous integration platform 110 may be particularly configured to generate one or more pipelines that include one or more specific tasks (e.g., code testing, code merging, etc.) to enhance implementation of code changes, as described in further detail herein.

[0023] According to a non-limiting embodiment of FIG. 1, the repository server 104 stores a plurality of files 112, such as various project-specific software code. A~n , and may be further configured to host and run a content repository platform (e.g., Git, Subversion, CVS, Microsoft Azure, Darcs, Mercurial, etc.). For example, via the content repository platform, the repository server 104 may store multiple files 112 implemented by one or more developers 114 via computing devices 116 (e.g., personal computers, laptop computers, tablets, smartphones, etc.), as described in further detail with reference to FIG. A~n In other words, repository server 104 may include a version control system and / or a source control system such as a monorepo, or a single version-controlled code repository configured to contain code associated with many projects. A~n Furthermore, the repository server 104 may store multiple files 112 A~n Each of these can be logically independent and run by different teams, so they can be configured to support hundreds of commits per day.

[0024] 1 , software development server 106 may be configured to host and run a software development platform (e.g., Gitlab, Github, Azure DevOps and Pipelines, Bitbucket, Jenkins, etc.) configured to facilitate a collaborative software development platform for large-scale software development projects, such as DevOps. Software development server 106 may be used to enable developers 114, via the software development platform, to collaboratively plan, build, secure, and deploy software as a complete platform throughout the development cycle. Specifically, software development server 106 may host and run a plurality of files 112 A~n , may be configured to execute the pipelines and / or tasks generated by the continuous integration platform 110 in association with one or more of:

[0025] Still referring to FIG. 1 , through a continuous integration platform 110, the continuous integration server 102 receives a plurality of project-specific files 112 hosted on a repository server 104. A~n According to some non-limiting aspects, the continuous integration platform 110 may be specifically configured to access a plurality of project-specific files 112 hosted on the repository server 104 according to a predetermined time interval (e.g., every 5 seconds, every minute, every hour, every day, etc.). A~n The continuous integration server 102 may be configured to periodically access and review a plurality of project-specific files 112 via the continuous integration platform 110. A~n Subset 112 of n has changed. This detection may be autonomous and may occur multiple times per day according to a predetermined period. For example, subset 112 n Multiple project-specific files 112 A~na plurality of project-specific files 112 that the continuous integration platform 110 has determined have been updated or otherwise modified by one or more developers 114 since the files were last accessed and reviewed; A~n The project-specific files 112 may include at least one of: A~n Subset 112 of n Upon determining that the .dest file has changed, the continuous integration server 102, via the continuous integration platform 110, can autonomously perform one or more tasks (e.g., build, merge, test, scan, etc.).

[0026] However, the continuous integration platform 110 of the continuous integration server 102 of the system 100 of FIG. 1 may also include customized tasks 210, 212 (FIG. 2) or multiple project-specific files 112. A~n A modified subset of 112 n The continuous integration server 102 may be further configured to generate a pipeline 301, 303, 305 (FIG. 3) of tasks exclusively associated with the modified subset 112. n 2 or pipelines 301, 303, 305 (FIG. 3) associated with the project 112 may be configured to send the associated tasks 210, 212 (FIG. 2) or pipelines 301, 303, 305 (FIG. 3) to the software development server 106 for execution. However, when executing a particular task, the software development server 106 may send multiple project-specific files 112 instead of multiple entire files. A~n Action needs to be taken only on the changed subset of

[0027] In this way, the developer 114 of FIG. 1 can access large, multiple project-specific files 112 stored by the repository server 104 or monorepo. A~nSystems can benefit from multi-repo-like agility and efficiency across multiple repo-like systems. For example, benchmark tests demonstrate significant technical advantages associated with the execution of specific tasks and pipelines generated by the continuous integration platform 110 on the continuous integration server 102. One test showed that a task such as a code merge, generated by the continuous integration platform 110 and executed by the software development server 106, took minutes, and in some cases, seconds, to complete, compared to 20 minutes to complete a task of comparable size generated and executed by a traditional system. Of course, the system 100 of FIG. 1 lacks the siloing of a multi-repo system and can handle multiple files 112 of comparable size. A~n The system 100 of FIG. 1 thus provides a clear and significant technical improvement over the prior art system 100.

[0028] Referring now to FIG. 2, a block diagram of several tasks 210, 212 generated by the system 100 of FIG. 1 is depicted in accordance with at least one non-limiting aspect of the present disclosure. For example, the tasks 210, 212 generated by the system 100 of FIG. 1 include, among other things, modifications 206, 208. a~c Merging project-specific files 112 A~n , and / or security-related tasks. A~n is depicted as being stored by repository server 104 in Figure 1. However, as shown in Figure 2, the first code change 206 is stored in multiple project-specific files 112 A~n The first project-specific file of 112 A The second code change 208 is implemented in multiple project-specific files 112 A~n The second project-specific file out of 112 cTherefore, the system 100 of FIG. 1 is implemented for a first project-specific file 112 A a first task 210 associated with a first code change 206 implemented in a second project-specific file 112; c and a second task 212 associated with a second code change 208 implemented in the first task.

[0029] Thus, it should be appreciated that the first task 210 and second task 212 illustrated in Figure 2 and generated by the system 100 of Figure 1 can be utilized to enhance the implementation of code changes. Specifically, the first change 206 includes a single piece of affected code 206, and thus much less code is actually affected by the first code change 206. In contrast, the second code change 208 includes multiple pieces of affected code 208. a~c , and therefore more code will be affected by the second code change 208. Thus, Figure 2 illustrates the advantage of the system 100 (Figure 1) configured to generate a first task 210 and a second task 212 that can be discretely executed by the software development server 106. The advantage of the system 100 (Figure 1) is that the developer 114 (Figure 1) can create multiple project-specific files 112. A~n The first project-specific file of 112 A If you are working only with the second project-specific file 112 C This is inefficient because there is no need to implement the second task 212 because the second task 212 is exclusively associated with the second project-specific file 112. C Scope of changes associated with 208 a~c But the first project-specific file 112 A This is especially true because the change is significantly larger than the single change 206 associated with the project. The developer 114 (Figure 1) is currently interested in the project-specific file 112 A In other words, the system 100 of FIG. 1 stores multiple project-specific files 112 A~n2 can intelligently detect and manage changes implemented in the project-specific files 112 and generate discrete tasks 210, 212 that can be executed independently by the software development server 106. Thus, the tasks 210, 212 of FIG. 2 are implemented by the developer 114 (FIG. 1) in the desired project-specific files 112. A Project-specific files that may be temporarily unrelated to your work on 112 C This may allow the system to focus exclusively on the task at hand 210 without having to commit computing resources to unnecessary tasks 212 implemented within it.

[0030] Referring now to Figure 3, a user interface 300 displaying multiple pipelines 301, 303, 305 generated by the system 100 of Figure 1 is depicted in accordance with at least one non-limiting aspect of the present disclosure. For example, according to some non-limiting aspects, the user interface 300 of Figure 3 may be generated by the continuous integration platform 110 (Figure 1) of the continuous integration server 102 (Figure 1) and accessed via computing devices 116, 114 (Figure 1) of one or more developers 114 (Figure 1). According to non-limiting aspects of Figure 3, the user interface 300 may display one of several pipelines 301, 303, 305, including, among others, a build pipeline 301, a test pipeline 303, and a security pipeline 305 (e.g., a static application security ("SAST") scan).

[0031] With further reference to the non-limiting embodiment of FIG. 3, each of the generated pipelines 301, 303, 305 is stored in a project-specific file 112 stored on the repository server 104 (FIG. 1). A~n One or more associated tasks 302 associated with one or more of (FIG. 1) a~e , 312 a~c , 322 a~c For example, the build pipeline 301 may include, among other things, build:cloudfunctions 302 a, build:peeprBackend 302 b , build:pubapi 302 c , build:pubapitoken302 d , and / or build:riskapi 302 e The test pipeline 303 may include, among other tasks, test:peeprBackend 312 a , test:swagger 312 b , and / or test:vet-peeprBackend 302 c The scan pipeline 305 may include tasks such as, among others, gosec:peeprBackend 322 a ,shiftleft:pubapi 322 b , and / or shiftleft:riskapi 322 c In other words, each task 302 in each of the pipelines 301, 303, 305 displayed by the user interface 300 of FIG. a~e , 312 a~c , 322 a~c Multiple project-specific files 112 A~n 112 specific project files A~n Of course, the pipelines 301, 303, and 305 and task 302 shown in Figure 3 can be specified. a~e , 312 a~c , 322 a~c By way of example only, and in accordance with other non-limiting aspects, the present disclosure contemplates several different types of pipelines and tasks being generated by the system 100 of FIG.

[0032] Still referring to FIG. 3, each task 302 in each pipeline 301, 303, 305 a~e , 312 a~c , 322 a~cmay further include one or more action buttons 308 and / or one or more status buttons 306, 307, 310, 314, 316. For example, when a developer 114 (FIG. 1) engages an action button 308, the continuous integration platform 110 notifies the continuous integration server 102 of the specific task 302. a~e , 312 a~c , 322 a~c Similarly, each status button 306, 307, 310, 314, 316 can be used to execute a particular task 302. a~e , 312 a~c , 322 a~c The first status button 306 may provide the developer 114 (FIG. 1) with an indication of when a particular task 302 was last executed by the continuous integration server 102. For example, the first status button 306 may provide a status indicator for the last time a particular task 302 was executed by the continuous integration server 102. a~e , 312 a~c , 322 a~c A second status button 307 can indicate that the last execution of a particular task 302 was successful. a~e , 312 a~c , 322 a~c The third status button 314 may be configured as a failure indicator to indicate that the last execution of a particular task 302 was not successful. a~e , 312 a~c , 322 a~c The fourth status button 316 may be configured as an alert indicator to indicate that the last execution of a particular task requires attention. According to some non-limiting aspects, user interaction (e.g., clicking the fourth status button 316, etc.) can provide the developer 114 (FIG. 1) with more detailed information regarding the last execution of a particular task, and the first status button 306 may indicate that the last execution of a particular task 302 is in progress or pending. a~e , 312 a~c , 322 a~c may indicate the last execution of

[0033] The user interface 300 of FIG. 3 allows the developer 114 (FIG. 1) to create and run tasks 302 a~e , 312a~c , 322 a~c , and / or pipelines 301, 303, 305 may be further reviewed in different aggregations. For example, according to a non-limiting embodiment of FIG. 3, a pipeline diagram 330 is illustrated. However, developers 114 (FIG. 1) may review the generated tasks 302 according to a project-specific needs view 332, a jobs view 334, a faulty jobs view 336, and / or a test view 338. a~e , 312 a~c , 322 a~c , and / or pipelines 301, 303, 305. In other words, various tasks 302 generated by the continuous integration platform 110 (FIG. 1) of the continuous integration server 102 (FIG. 1) can be further reviewed. a~e , 312 a~c , 322 a~c Task 302 a~e , 312 a~c , 322 a~c Type, Task 302 a~e , 312 a~c , 322 a~c Additionally, when in pipeline view 330, developer 114 (FIG. 1) may further aggregate by created tasks 302, as shown in FIG. 3, among other groupings contemplated by the present disclosure but not shown in FIG. a~e , 312 a~c , 322 a~c The “Grouping” widget 340 can further be toggled to display the pipelines 301 , 303 , 305 via a stage view 342 or a job dependency view 344 .

[0034] Each pipeline 301, 303, 305 can be configured to run automatically on a continuous integration server 102 (FIG. 1) via a continuous integration platform 110 (FIG. 1), and the pipelines 301, 303, 305 can be configured to run automatically on a continuous integration server 102 (FIG. 1) via a project-specific file 112 N(FIG. 1) has changed. Thus, a code change can trigger a notification to the continuous integration server 102 (FIG. 1) and / or the continuous integration platform 110 (FIG. 1), which then executes the corresponding pipelines 301, 303, 305. However, according to other non-limiting aspects, the execution of the pipelines 301, 303, 305 can be scheduled and / or triggered based on the results of other executed pipelines 301, 303, 305. Thus, the continuous integration platform 110 (FIG. 1) via the pipelines 301, 303, 305 can be implemented to efficiently automate the software delivery process on the monorepo-based repository server 104 (FIG. 1). For example, the pipelines 301, 303, 305 can be used to build code, run tests, and update project-specific files 112. N A new version of an application associated with only a subset of the pipelines 301, 303, 305 can be safely deployed. The pipelines 301, 303, 305 can be configured to eliminate manual errors, provide a standardized feedback loop to developers 114 (FIG. 1), and enable faster product iteration. According to some non-limiting aspects, the enhanced pipelines 301, 303, 305 accelerated the entire continuous integration feedback loop to just a few seconds without compromising the quality of feedback or results for developers 114 (FIG. 1).

[0035] In summary, the user interface 300 of FIG. 3 uses the continuous integration platform 110 (FIG. 1) of the continuous integration server 102 (FIG. 1) to execute a particular task 302. a~e , 312 a~c , 322 a~c In addition to generating the project-specific file 112 stored on the repository server 104, A~n The generated task 302 associated with a subset of a~e , 312 a~c , 322 a~ccan also be aggregated into specific and enhanced continuous integration pipelines 301, 303, 305, which can be implemented with specificity to further streamline integration, further reduce computational resource usage, and improve efficiency.

[0036] Referring now to FIG. 4, a method 400 for enhancing the implementation of code changes via an enhanced pipeline is illustrated in accordance with at least one non-limiting aspect of the present disclosure. It should be appreciated that the method 400 of FIG. 4 may be implemented via a continuous integration server 102 (FIG. 1), and more specifically, via a continuous integration platform 110 (FIG. 1) hosted on the continuous integration server 102 (FIG. 2). However, according to other non-limiting aspects, the method 400 may be implemented via any other component of the system 100 of FIG. 1 to achieve similar results. According to a non-limiting aspect of FIG. 4, the method involves the integration of multiple project-specific files 112 hosted on a repository server 104 (FIG. 1). A~n( 1) 402. For example, the access 402 may occur autonomously and / or periodically according to a predetermined time interval (e.g., every 5 seconds, every minute, every hour, every day, etc.).

[0037] With further reference to FIG. 4, the method 400 includes a step of generating a plurality of project-specific files 112. A~n Subset 112 of (Figure 1) n (FIG. 1) has changed. According to some non-limiting aspects, the detecting 404 may be autonomous. However, according to other non-limiting aspects, the detecting 404 may be performed by detecting a change in the plurality of project-specific files 112. A~n (Figure 1) n This may occur in response to user-provided input regarding whether subset 112 (FIG. 1) has changed. n (Figure 1) shows multiple project-specific files 112 A~n (FIG. 1), which may include at least one of a plurality of project-specific files 112 A~ndetermined that the continuous integration platform 110 has been updated or otherwise modified by one or more developers 114 since it was last accessed and reviewed.

[0038] Multiple project-specific files112 A~n A subset of 112 n 4 determines that the project-specific files 112 have changed, A~n (Figure 1) n 4, the method 400 may further include generating 406 a specific task 210, 212 (FIG. 2) or pipeline 301, 303, 305 (FIG. 3) for execution, the specific task 210, 212 (FIG. 2) or pipeline 301, 303, 305 (FIG. 3) exclusively associated with the specific task 210, 212 (FIG. 1). n (FIG. 1) to the software development server 106 (FIG. 1). In this manner, upon execution of a particular task, the software development server 106 (FIG. 1) may generate a plurality of project-specific files 112. A~n Instead of the entire (Figure 1), multiple project-specific files 112 A~n (Figure 1) N 4 may be configured as a monorepo. A~n (Figure 1) can enable multi-repo-like agility and efficiency.

[0039] 5, a block diagram of a security information and event management system (“SIEM”) 1000 configured to benefit from the system 100 of FIG. 1 and the method 400 of FIG. 4 is illustrated in accordance with at least one non-limiting aspect of the present disclosure. For example, according to certain non-limiting aspects, the SIEM system 100 of FIG. 5 can be configured similarly to that described in International Patent Application No. PCT / US22 / 72739, filed June 3, 2022, and entitled DEVICES, SYSTEMS, AND METHODS FOR ENHANCING SECURITY INFORMATION & EVENT MANAGEMENT UPDATES FOR MULTIPLE TENANTS BASED ON CORRELATED, AND SYNERGISTIC DEPLOYMENT NEEDS, the disclosure of which is incorporated herein by reference in its entirety. According to a non-limiting embodiment of FIG. 5, system 1000 may include an MSSP provider server 1002 including memory 1006 configured to store a SOAR application, such as the SOAR application described in U.S. Provisional Patent Application No. 63 / 302,828, filed January 25, 2022, and entitled DEVICES, SYSTEMS, AND METHODS FOR REMOTELY MANAGING ANOTHER ORGANIZATION'S SECURITY ORCHESTRATION, AUTOMATION, AND RESPONSE, the disclosure of which is incorporated herein by reference in its entirety.

[0040] The system 1000 may further include a processor 1004. For example, the MSSP provider server 1002 may be a computing resource owned or leased by a managed security service provider ("MSSP"). The MSSP provider server 1002 may communicate with multiple tenants 10101, 10102, ... 10103 via a network 1008. n Each of the plurality of tenants 10101, 10102, . . . 1010 nmay represent customers (e.g., organizations) that have contracted with the MSSP. According to a non-limiting embodiment of FIG. 5, network 1008 may include any of a variety of wired, long-range wireless, and / or short-range wireless networks. For example, network 1008 may include an internal network, a local area network (LAN), Wi-Fi, a cellular network, a near-field communication (hereinafter "NFC"), etc., among others. MSSP provider server 1002 provides SIEM services, and more specifically, multiple tenants 10101, 10102, ... 1010 n may be configured to perform SOAR management services on behalf of

[0041] Further referring to FIG. 5, each of the multiple tenants 10101, 10102, ... 1010 n Each tenant 10101 may host one or more instances of one or more clients 1012, 1014, 1016. For example, a first tenant 10101 may host one or more client applications 10121, 10122, . . . 1012. n , and a second tenant 10102 may include one or more machines running one or more client applications 10141, 10142, ... 1014 n and / or a third tenant 1010 n is one or more client applications 10161, 10162…1016 n Each tenant 10101, 10102, and 1010 n can include an intranet with each machine running a client application. For example, each tenant 10101, 10102, and 1010 n Each of the can represent a customer, such as an organization that has contracted with an MSSP for security services.

[0042] Therefore, the MSSP provider server 1002 manages the data for each of the multiple tenants 10101, 10102, and 10103. n, and is therefore responsible for monitoring and managing each client application 1012, 1014, and 1016 against threats. n Differences and complexities in architecture can make this complicated and inefficient for MSSPs. Therefore, known SOAR tools may only manage tenants 10101, 10102, and 10103. n This can leave the MSSP provider server 1002 technically exposed and therefore vulnerable to attacks. According to non-limiting aspects of the present disclosure, the MSSP provider server 1002 can implement a SOAR management application that addresses these deficiencies technically and practically by enhancing the MSSP provider server's 1002 capabilities to manage, send alerts, and update client applications for multiple tenants based on correlated and synergistic development needs.

[0043] Various aspects of the subject matter described herein are set forth in the following numbered sections.

[0044] Clause 1: A method for enhancing implementation of code changes, the method comprising: accessing, via a continuous integration platform, a plurality of project-specific files hosted on a repository server, the repository server configured as a monolithic repository configured to host the plurality of project-specific files; determining, via the continuous integration platform, that a subset of the plurality of project-specific files has changed; generating, via the continuous integration platform, a specific task associated exclusively with the changed subset of the plurality of project-specific files; and transmitting, via the continuous integration platform, the specific task to a software development server configured to perform the specific task, wherein execution of the specific task exclusively affects the changed subset of the plurality of project-specific files.

[0045] Clause 2: The method of clause 1, further comprising generating, via a continuous integration platform, a plurality of pipelines, each of the plurality of pipelines comprising a plurality of specific tasks exclusively associated with a changed subset of the plurality of project-specific files.

[0046] Clause 3: The method of any of clauses 1 or 2, wherein the plurality of pipelines includes at least one of a build pipeline, a test pipeline, and a security scanning pipeline, or a combination thereof.

[0047] Clause 4: The method of any one of clauses 1 to 3, further comprising causing a display communicatively connected to the continuous integration platform to present, via the continuous integration platform, a user interface including a plurality of widgets, each widget of the plurality of widgets corresponding to a respective pipeline of the plurality of pipelines.

[0048] Clause 5: The method of any of clauses 1 to 4, wherein each widget of the plurality of widgets includes a status button configured to provide an indication associated with a previous execution of at least one specific task of the plurality of specific tasks.

[0049] Clause 6: The method of any one of clauses 1 to 5, wherein the status button includes at least one of a success indicator, a fault indicator, a pending indicator, or an alarm indicator, or a combination thereof.

[0050] Clause 7: The method of any of clauses 1 to 6, further comprising displaying, via the continuous integration platform, information associated with a previous execution of at least one specific task of the plurality of specific tasks in response to user interaction with the alert indicator.

[0051] Clause 8: A system configured to enhance implementation of code changes, the system comprising: a software development server; a repository server configured to host a plurality of project-specific files; and a continuous integration server, the continuous integration server comprising: a processor; and a memory configured to store a continuous integration platform, the continuous integration platform, when executed by the processor, causing the continuous integration server to access the plurality of project-specific files hosted on the repository server, determine that a subset of the plurality of project-specific files has changed, generate a specific task associated exclusively with the changed subset of the plurality of project-specific files, and send the specific task to the software development server, the software development server configured to execute the specific task, wherein execution of the specific task exclusively affects the changed subset of the plurality of project-specific files.

[0052] Clause 9: The system of clause 8, wherein the repository server is configured as a monolithic repository configured to host multiple project-specific files.

[0053] Clause 10: The system of clause 8 or 9, wherein the continuous integration server is further configured to generate a plurality of pipelines, each pipeline of the plurality of pipelines comprising a plurality of specific tasks exclusively associated with a changed subset of the plurality of project-specific files.

[0054] Clause 11: The system of any of clauses 8 to 10, wherein the plurality of pipelines comprises at least one of a build pipeline, a test pipeline, and a security scan pipeline, or a combination thereof.

[0055] Clause 12: The system of any of clauses 8 to 11, wherein the continuous integration server is further configured to cause a display communicatively connected to the continuous integration server to present a user interface comprising a plurality of widgets, each widget of the plurality of widgets corresponding to a respective pipeline of the plurality of pipelines.

[0056] Clause 13: A system described in any of clauses 8 to 12, wherein each widget of the plurality of widgets comprises a status button configured to provide an indication associated with a previous execution of at least one specific task of the plurality of specific tasks.

[0057] Clause 14: A system according to any one of clauses 8 to 13, wherein the status button comprises at least one of a success indicator, a fault indicator, a pending indicator, or an alarm indicator, or a combination thereof.

[0058] Clause 15: The system of any of clauses 8 to 14, wherein the continuous integration server is further configured to display information associated with a previous execution of at least one specific task of the plurality of specific tasks in response to user interaction with the alert indicator.

[0059] Clause 16: A continuous integration server configured to enhance implementation of code changes, the continuous integration server including: a processor; and a memory configured to store a continuous integration platform that, when executed by the processor, causes the continuous integration server to access a plurality of project-specific files hosted on a repository server; determine that a subset of the plurality of project-specific files has changed; generate a specific task associated exclusively with the changed subset of the plurality of project-specific files; and send the specific task to a software development server configured to perform the specific task, wherein execution of the specific task exclusively affects the changed subset of the plurality of project-specific files.

[0060] Clause 17: The continuous integration server of clause 16, wherein the repository server is configured as a monolithic repository configured to host multiple project-specific files.

[0061] Clause 18: The continuous integration server of either clause 16 or 17, wherein the continuous integration server is further configured to generate a plurality of pipelines, each pipeline of the plurality of pipelines comprising a plurality of specific tasks exclusively associated with a changed subset of the plurality of project-specific files.

[0062] Clause 19: A continuous integration server according to any one of clauses 16 to 18, wherein the continuous integration server is further configured to cause a display communicatively connected to the continuous integration server to present a user interface comprising a plurality of widgets, each widget of the plurality of widgets corresponding to a respective pipeline of the plurality of pipelines.

[0063] Clause 20: A continuous integration server described in any of clauses 16 to 19, wherein the continuous integration server is further configured to display information associated with a previous execution of at least one specific task of the plurality of specific tasks in response to user interaction with the alert indicator.

[0064] All patents, patent applications, publications, or other disclosure materials mentioned herein are incorporated herein by reference in their entirety, as if each individual reference were expressly incorporated by reference. All references and any material, or portions thereof, said to be incorporated herein by reference are incorporated herein only to the extent that the incorporated material does not contradict existing definitions, descriptions, or other disclosed material set forth in this disclosure. Therefore, and to the extent necessary, the present disclosure as set forth herein supersedes any conflicting material incorporated herein by reference, and this disclosure is expressly set forth within the control of this application.

[0065] Various exemplary and illustrative embodiments have been described. The embodiments described herein are understood to provide illustrative features of various details of various embodiments of the present disclosure, and therefore, unless otherwise specified, it is to be understood that, to the extent possible, one or more features, elements, components, ingredients, materials, structures, modules, and / or aspects of the embodiments of the present disclosure may be combined, separated, interchanged, and / or rearranged with or relative to one or more other features, elements, components, ingredients, materials, structures, modules, and / or aspects of the embodiments of the present disclosure without departing from the scope of the present disclosure. Accordingly, those skilled in the art will recognize that various substitutions, modifications, or combinations of any of the exemplary embodiments may be made without departing from the claimed subject matter. Moreover, those skilled in the art will recognize or be able to ascertain, upon review of this specification and using no more than routine experimentation, numerous equivalents to the various embodiments of the present disclosure. Accordingly, the present disclosure is not limited by the description of the various embodiments, but only by the scope of the claims.

[0066] Those skilled in the art will recognize that the terms used herein generally, and in the appended claims in particular (e.g., the body of the appended claims), are generally intended as "open-ended" terms (e.g., the term "including" should be interpreted as "including, but not limited to," the term "having" should be interpreted as "having at least," the term "includes" should be interpreted as "including, but not limited to," etc.). It will be further understood by those skilled in the art that where recitation of a specific number of introduced claims is intended, such intention will be expressly recited in the claim, and that in the absence of such recitation, no such intention exists. For example, as an aid to understanding, the following appended claims may include the use of the introductory phrases "at least one" and "one or more" to introduce the recitation of claims. However, the use of such phrases should not be construed as implying that the introduction of a claim recitation by the indefinite article "a" or "an" limits any particular claim that includes such an introduced claim recitation to claims containing only one such recitation, even when the same claim also includes the introductory phrase "one or more" or "at least one" and an indefinite article such as "a" or "an" (e.g., "a" and / or "an" should ordinarily be construed to mean "at least one" or "one or more").

[0067] Furthermore, even if a particular number of enumerations in an introduced claim are explicitly recited, those skilled in the art will recognize that such enumerations should typically be interpreted to mean at least the recited number (e.g., the mere enumeration of "two enumerations," without other modifiers, typically means at least two enumerations or more than two enumerations). Furthermore, in those cases where a convention similar to "at least one of A, B, and C, etc." is used, such construction is generally intended in the sense that one skilled in the art would understand the convention (e.g., "a system having at least one of A, B, and C" includes, but is not limited to, A alone, B alone, C alone, a system having A and B together, a system having A and C together, a system having B and C together, and / or a system having A, B, and C together, etc.). In instances where a convention similar to "at least one of A, B, or C, etc." is used, such construction is generally intended in the sense that one of ordinary skill in the art would understand the convention (e.g., "a system having at least one of A, B, or C" includes, but is not limited to, A alone, B alone, C alone, a system having A and B together, a system having A and C together, a system having B and C together, and / or a system having A, B, and C together, etc.). It will be further understood by those of ordinary skill in the art that disjunctions and / or phrases, whether in the description, claims, or drawings, typically present two or more alternative terms, should be understood to contemplate the possibility of including one of the terms, either of the terms, or both terms, unless the context dictates otherwise. For example, the phrase "A or B" will typically be understood to include the possibilities of "A" or "B" or "A and B."

[0068] With respect to the appended claims, those skilled in the art will understand that the actions recited therein may generally occur in any order. Also, while the claim recitations are presented sequentially, it should be understood that various actions may occur in other orders than those described, or may occur simultaneously. Examples of such alternative orders include overlapping, interleaved, interrupted, reordered, incremental, preparatory, supplemental, simultaneous, reverse, or other variant orders, unless the context dictates otherwise. Furthermore, unless the context dictates otherwise, terms such as "responsive," "related," or other past tense adjectives are generally not intended to exclude such variants.

[0069] It should be noted that any reference to "one embodiment," "embodiment," "exemplary," "one example," and the like means that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment. Thus, the appearances of the phrases "in one embodiment," "in an embodiment," "in an example," and "in one example" in various places throughout this specification do not necessarily all refer to the same embodiment. Furthermore, particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0070] As used herein, the singular forms "a," "an," and "the" include plural references unless the context clearly dictates otherwise.

[0071] Directional terms used herein, such as, but not limited to, up, down, left, right, below, over, front, back, and variations thereof, relate to the orientation of the elements as shown in the accompanying drawings and are not intended to be limiting with respect to the claims, unless expressly stated otherwise.

[0072] As used in this disclosure, the term "about" or "approximately," unless otherwise specified, refers to an acceptable error for a particular value as determined by one of ordinary skill in the art, which depends in part on how the value is measured or determined. In certain embodiments, the term "about" or "approximately" means within 1, 2, 3, or 4 standard deviations. In certain embodiments, the term "about" or "approximately" means within 50%, 200%, 105%, 100%, 9%, 8%, 7%, 6%, 5%, 4%, 3%, 2%, 1%, 0.5%, or 0.05% of a given value or range.

[0073] As used herein, unless otherwise indicated, all numerical parameters are understood to be predicated and, in all instances, modified by the term "about" given the inherent variability characteristic of the underlying measurement technique used to determine the numerical value of that parameter. At the very least, and not as an attempt to limit the application of the doctrine of equivalents to the scope of the claims, each numerical parameter set forth herein should at least be construed in light of the number of reported significant digits and by applying ordinary rounding techniques.

[0074] Any numerical range recited herein includes all subranges subsumed within the recited range. For example, a range of "1 to 100" includes all subranges between (and including) the recited minimum value of 1 and the recited maximum value of 100, i.e., having a minimum value of 1 or greater and a maximum value of 100 or less. Also, all ranges recited herein include the recited endpoints. For example, a range of "1 to 100" includes the endpoints 1 and 100. Any maximum numerical limitation recited herein is intended to include all lower numerical limitations subsumed therein, and any minimum numerical limitation recited herein is intended to include all higher numerical limitations subsumed therein. Accordingly, applicants reserve the right to amend this specification, including the claims, to explicitly recite subranges subsumed within the explicitly recited ranges. All such ranges are inherently set forth herein.

[0075] Any patent applications, patents, non-patent publications, or other disclosure materials mentioned herein and / or listed in any application data sheets are incorporated herein by reference to the extent that the incorporated materials do not contradict this specification. Accordingly, and to the extent necessary, the present disclosure as expressly set forth herein supersedes any conflicting material incorporated herein by reference. Any material, or portion thereof, that is said to be incorporated herein by reference but that contradicts existing definitions, statements, or other disclosure materials set forth herein is incorporated only to the extent that no contradiction arises between the incorporated material and the existing disclosure materials.

[0076] The terms "comprise" (and any form of comprise, such as "comprises" or "comprising"), "have" (and any form of have, such as "has" and "having"), "include" (and any form of include, such as "includes" and "including"), and "contain" (and any form of contain, such as "contains" and "containing") are open-ended linking verbs. Consequently, a system that "comprises," "has," "includes," or "contains" one or more elements possesses those one or more elements, but is not limited to possessing only those one or more elements. Similarly, an element of a system, device, or apparatus that "comprises," "has," "includes," or "contains" one or more features possesses those one or more features, but is not limited to possessing only those one or more features.

[0077] The foregoing detailed description sets forth various aspects of devices and / or processes through the use of block diagrams, flowcharts, and / or examples. Where such block diagrams, flowcharts, and / or examples include one or more functions and / or operations, those skilled in the art will understand that each function and / or operation in such block diagrams, flowcharts, and / or examples can be individually and / or collectively implemented by a wide range of hardware, software, firmware, or substantially any combination thereof. Those skilled in the art will recognize that some aspects of the embodiments disclosed herein can be equivalently implemented in whole or in part in integrated circuits as one or more computer programs running on one or more computers (e.g., as one or more programs running on one or more computer systems), as one or more programs running on one or more processors (e.g., as one or more programs running on one or more microprocessors), as firmware, or substantially any combination thereof, and that designing the circuitry and / or writing the code for the software and / or firmware is within the skill of those skilled in the art in light of this disclosure. Furthermore, those skilled in the art will understand that the mechanisms of the subject matter described herein can be distributed as one or more program products in a variety of forms, and that the exemplary forms of the subject matter described herein apply regardless of the particular type of signal-bearing medium used to actually effect the distribution.

[0078] The instructions used to program logic to implement various disclosed aspects may be stored in memory within the system, such as dynamic random access memory (DRAM), cache, flash memory, or other storage device. Additionally, the instructions may be distributed over a network or via other computer-readable media. Thus, a machine-readable medium is any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer), including, but not limited to, a floppy diskette, an optical disk, a compact disk, a read-only memory (CD-ROM), and a magneto-optical disk, a read-only memory (ROM), a random access memory (RAM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic or optical card, a flash memory, or a tangible machine-readable storage device used in transmitting information over the Internet via an electrical, optical, acoustic, or other form of propagated signal (e.g., carrier wave, infrared signal, digital signal, etc.). Accordingly, non-transitory computer-readable media includes any type of tangible machine-readable medium suitable for storing or transmitting electronic instructions or information in a form readable by a machine (e.g., a computer).

[0079] As used in any aspect of the present specification, the term "control circuitry" can refer to, for example, hardwired circuitry, programmable circuitry (e.g., a computer processor with one or more individual instruction processing cores, a processing unit, a processor, a microcontroller, a microcontroller unit, a controller, a digital signal processor (DSP), a programmable logic device (PLD), a programmable logic array (PLA), or a field programmable gate array (FPGA)), a state machine circuit, firmware that stores instructions executed by the programmable circuitry, and any combination thereof. Control circuitry can be embodied collectively or individually as circuitry that forms part of a larger system, e.g., an integrated circuit (IC), an application specific integrated circuit (ASIC), a system on a chip (SoC), a desktop computer, a laptop computer, a tablet computer, a server, a smartphone, etc. Thus, as used herein, "control circuitry" includes, but is not limited to, electrical circuitry having at least one discrete electrical circuit, electrical circuitry having at least one integrated circuit, electrical circuitry having at least one application-specific integrated circuit, electrical circuitry forming a general-purpose computing device configured by a computer program (e.g., a general-purpose computer configured by a computer program at least in part to execute a process and / or a device described herein, or a microprocessor configured by a computer program at least in part to execute a process and / or a device described herein), electrical circuitry forming a memory device (e.g., a form of random access memory), and / or electrical circuitry forming a communications device (e.g., a modem, a communications switch, or an optoelectronic device). Those skilled in the art will recognize that the subject matter described herein can be implemented in an analog or digital fashion or some combination thereof.

[0080] As used in any aspect herein, the term "logic" may refer to an application, software, firmware, and / or circuitry configured to perform any of the foregoing operations. Software may be embodied as a software package, code, instructions, an instruction set, and / or data recorded on a non-transitory computer-readable storage medium. Firmware may be embodied as code, instructions, or an instruction set, and / or hard-coded (e.g., non-volatile) data within a memory device.

[0081] As used in any aspect of this specification, the terms "component," "system," "module," and the like may refer to a computer-related entity, hardware, a combination of hardware and software, software, or software in execution.

[0082] As used in any aspect herein, an "algorithm" refers to a self-consistent sequence of steps leading to a desired result, and the "steps" refer to manipulations of physical quantities and / or logical states which may, but need not, take the form of electrical or magnetic signals capable of being stored, moved, combined, compared, and otherwise manipulated. These signals are commonly referred to as bits, values, elements, symbols, characters, terms, numbers, or the like. These and similar terms may be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities and / or states.

Claims

1. 1. A method for enhancing implementation of code changes, comprising: accessing, via a continuous integration platform, a plurality of project-specific files hosted on a repository server, the repository server configured as a monolithic repository configured to host the plurality of project-specific files; determining, via the continuous integration platform, that a subset of the plurality of project-specific files has changed; generating, via the continuous integration platform, a specific task that is exclusively associated with the changed subset of the plurality of project-specific files; submitting the particular task via the continuous integration platform to a software development server configured to execute the particular task, wherein execution of the particular task exclusively affects the changed subset of the plurality of project-specific files; A method comprising:

2. generating a plurality of pipelines via the continuous integration platform; each pipeline of the plurality of pipelines comprising a plurality of specific tasks exclusively associated with the modified subset of the plurality of project-specific files; The method of claim 1.

3. The method of claim 2 , wherein the plurality of pipelines comprises at least one of a build pipeline, a test pipeline, and a security scan pipeline, or a combination thereof.

4. and causing, via the continuous integration platform, a display communicatively connected to the continuous integration platform to present a user interface comprising a plurality of widgets; each widget of the plurality of widgets corresponds to a respective pipeline of the plurality of pipelines; The method of claim 3.

5. The method of claim 4 , wherein each widget of the plurality of widgets comprises a status button configured to provide an indication associated with a previous execution of at least one particular task of the plurality of particular tasks.

6. The method of claim 5 , wherein the status buttons comprise at least one of a success indicator, a failure indicator, a pending indicator, or an alert indicator, or a combination thereof.

7. 7. The method of claim 6, further comprising displaying, via the continuous integration platform, information associated with a previous execution of the at least one particular task of the plurality of particular tasks in response to user interaction with the alert indicator.

8. 1. A system configured to enhance implementation of code changes, comprising: a software development server; a repository server configured to host multiple project-specific files; a continuous integration server; The continuous integration server a processor; a memory configured to store a continuous integration platform; The continuous integration platform, when executed by the processor, causes the continuous integration server to: accessing the plurality of project-specific files hosted on the repository server; determining that a subset of the plurality of project-specific files has changed; generating a specific task exclusively associated with the modified subset of the plurality of project-specific files; sending the specific task to the software development server; the software development server is configured to perform the specific task; Execution of the particular task exclusively affects the modified subset of the plurality of project-specific files.

9. The system of claim 8 , wherein the repository server is configured as a monolithic repository configured to host the plurality of project-specific files.

10. the continuous integration server is further configured to generate a plurality of pipelines; 9. The system of claim 8, wherein each pipeline of the plurality of pipelines comprises a plurality of specific tasks exclusively associated with the modified subset of the plurality of project-specific files.

11. The system of claim 10 , wherein the plurality of pipelines comprises at least one of a build pipeline, a test pipeline, and a security scan pipeline, or a combination thereof.

12. the continuous integration server is further configured to cause a display communicatively connected to the continuous integration server to present a user interface comprising a plurality of widgets; The system of claim 11 , wherein each widget in the plurality of widgets corresponds to a respective pipeline in the plurality of pipelines.

13. 13. The system of claim 12, wherein each widget of the plurality of widgets comprises a status button configured to provide an indication associated with a previous execution of at least one particular task of the plurality of particular tasks.

14. The system of claim 13 , wherein the status buttons comprise at least one of a success indicator, a failure indicator, a pending indicator, or an alert indicator, or a combination thereof.

15. 15. The system of claim 14, wherein the continuous integration server is further configured to, in response to user interaction with the alert indicator, display information associated with a previous execution of the at least one particular task of the plurality of particular tasks.

16. 1. A continuous integration server configured to enforce implementation of code changes, comprising: The continuous integration server a processor; a memory configured to store a continuous integration platform; The continuous integration platform, when executed by the processor, causes the continuous integration server to: Access multiple project-specific files hosted on a repository server, determining that a subset of the plurality of project-specific files has changed; generating a specific task exclusively associated with the modified subset of the plurality of project-specific files; sending the specific task to a software development server configured to perform the specific task; A continuous integration server, wherein execution of the particular task exclusively affects the changed subset of the plurality of project-specific files.

17. 17. The continuous integration server of claim 16, wherein the repository server is configured as a monolithic repository configured to host the plurality of project-specific files.

18. the continuous integration server is further configured to generate a plurality of pipelines; 17. The continuous integration server of claim 16, wherein each pipeline of the plurality of pipelines comprises a plurality of specific tasks associated exclusively with the changed subset of the plurality of project-specific files.

19. the continuous integration server is further configured to cause a display communicatively connected to the continuous integration server to present a user interface comprising a plurality of widgets; 20. The continuous integration server of claim 18, wherein each widget in the plurality of widgets corresponds to a respective pipeline in the plurality of pipelines.

20. 17. The continuous integration server of claim 16, wherein the continuous integration server is further configured to display information associated with a previous execution of at least one particular task of a plurality of particular tasks in response to user interaction with an alert indicator.