Failure mitigation in software deployment pipelines using generative artificial intelligence
Techniques are provided for failure mitigation in software deployment pipelines using generative artificial intelligence (AI). One method comprises obtaining a request to merge code changes associated with a first branch of software code with a second branch of the software code; in response to the request: obtaining information characterizing the software deployment pipeline; applying at least a portion of the information to a classification model to obtain a prediction that an implementation of the request will result in a failure; applying, in response to the prediction that the implementation of the request will result in the failure, at least a portion of the information to a generative AI model, with failure information characterizing reasons for the failure, to obtain mitigation actions to mitigate the failure; and automatically initiating processing steps associated with at least one of the mitigation actions to mitigate the failure.
1 . A method, comprising:
obtaining at least one request to merge one or more code changes associated with a first branch of software code of an automated software deployment pipeline with a second branch of software code of the automated software deployment pipeline;
performing the following steps, in response to the at least one request:
obtaining information characterizing the automated software deployment pipeline;
applying at least a portion of the information to at least one classification model to obtain a prediction that an implementation of the at least one request will result in at least one failure;
applying, in response to the prediction that the implementation of the at least one request will result in the at least one failure, at least a portion of the information to at least one generative artificial intelligence (AI) model, with failure information, from the at least one classification model, characterizing one or more reasons for the at least one failure, to obtain one or more mitigation actions to mitigate the at least one failure; and
automatically initiating one or more processing steps associated with at least one of the one or more mitigation actions that update at least a portion of the automated software deployment pipeline to mitigate the at least one failure, wherein the one or more mitigation actions are implemented by at least one processing device;
wherein the method is performed by the at least one processing device comprising a processor coupled to a memory.
2 . The method of claim 1 , wherein the obtaining the at least one request initiates an execution of at least one AI job that applies the at least the portion of the information to the at least one classification model and the at least one generative AI model.
3 . The method of claim 1 , wherein the information characterizing the automated software deployment pipeline is obtained by parsing one or more software build logs.
4 . The method of claim 1 , wherein the one or more mitigation actions are obtained by identifying at least one record in an error database, wherein the error database comprises a plurality of records, wherein each record comprises an error description and one or more error resolution actions.
5 . The method of claim 4 , wherein one or more natural language processing models are trained using the error description associated with at least some of the records in the error database.
6 . The method of claim 1 , wherein the at least one classification model and the at least one generative AI model are trained using a plurality of historical software error logs.
7 . The method of claim 6 , wherein the at least one generative AI model is further trained using a plurality of historical software job failures and one or more corresponding historical software job failure resolutions.
8 . The method of claim 1 , wherein the at least one classification model and the at least one generative AI model are accessed as endpoints of one or more application programming interfaces.
9 . The method of claim 1 , wherein an output of the at least one generative AI model comprises one or more root causes for the at least one failure.
10 . The method of claim 1 , wherein the at least one classification model comprises an ensemble of prediction models and wherein at least one second generative AI model selects one prediction model of the ensemble for a given software deployment pipeline.
11 . An apparatus comprising:
at least one processing device comprising a processor coupled to a memory;
the at least one processing device being configured to implement the following steps:
obtaining at least one request to merge one or more code changes associated with a first branch of software code of an automated software deployment pipeline with a second branch of software code of the automated software deployment pipeline;
performing the following steps, in response to the at least one request:
obtaining information characterizing the automated software deployment pipeline;
applying at least a portion of the information to at least one classification model to obtain a prediction that an implementation of the at least one request will result in at least one failure;
applying, in response to the prediction that the implementation of the at least one request will result in the at least one failure, at least a portion of the information to at least one generative artificial intelligence (AI) model, with failure information, from the at least one classification model, characterizing one or more reasons for the at least one failure, to obtain one or more mitigation actions to mitigate the at least one failure; and
automatically initiating one or more processing steps associated with at least one of the one or more mitigation actions that update at least a portion of the automated software deployment pipeline to mitigate the at least one failure, wherein the one or more mitigation actions are implemented by the at least one processing device.
12 . The apparatus of claim 11 , wherein the one or more mitigation actions are obtained by identifying at least one record in an error database, wherein the error database comprises a plurality of records, wherein each record comprises an error description and one or more error resolution actions.
13 . The apparatus of claim 11 , wherein the at least one classification model and the at least one generative AI model are accessed as endpoints of one or more application programming interfaces.
14 . The apparatus of claim 11 , wherein an output of the at least one generative AI model comprises one or more root causes for the at least one failure.
15 . The apparatus of claim 11 , wherein the at least one classification model comprises an ensemble of prediction models and wherein at least one second generative AI model selects one prediction model of the ensemble for a given software deployment pipeline.
16 . A non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device to perform the following steps:
obtaining at least one request to merge one or more code changes associated with a first branch of software code of an automated software deployment pipeline with a second branch of software code of the automated software deployment pipeline;
performing the following steps, in response to the at least one request:
obtaining information characterizing the automated software deployment pipeline;
applying at least a portion of the information to at least one classification model to obtain a prediction that an implementation of the at least one request will result in at least one failure;
applying, in response to the prediction that the implementation of the at least one request will result in the at least one failure, at least a portion of the information to at least one generative artificial intelligence (AI) model, with failure information, from the at least one classification model, characterizing one or more reasons for the at least one failure, to obtain one or more mitigation actions to mitigate the at least one failure; and
automatically initiating one or more processing steps associated with at least one of the one or more mitigation actions that update at least a portion of the automated software deployment pipeline to mitigate the at least one failure, wherein the one or more mitigation actions are implemented by the at least one processing device.
17 . The non-transitory processor-readable storage medium of claim 16 , wherein the one or more mitigation actions are obtained by identifying at least one record in an error database, wherein the error database comprises a plurality of records, wherein each record comprises an error description and one or more error resolution actions.
18 . The non-transitory processor-readable storage medium of claim 16 , wherein the at least one classification model and the at least one generative AI model are accessed as endpoints of one or more application programming interfaces.
19 . The non-transitory processor-readable storage medium of claim 16 , wherein an output of the at least one generative AI model comprises one or more root causes for the at least one failure.
20 . The non-transitory processor-readable storage medium of claim 16 , wherein the at least one classification model comprises an ensemble of prediction models and wherein at least one second generative AI model selects one prediction model of the ensemble for a given software deployment pipeline.