es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Ejecutar trabajo de pipeline desde el script de Jenkins pipeline

Tengo dos trabajos de tubería que son trabajo A y trabajo B. Necesito activar trabajo B mientras se está ejecutando trabajo A.. porque trabajo A no terminará debido a algunas llamadas de API. así que necesito iniciar el siguiente trabajo de tubería trabajo B.

¿Cómo podemos activar otro trabajo de tubería desde el archivo Jenkins?
Todos los bloques paralelos de a, b, c deben ejecutarse.

A continuación, he pegado el script Jenkins del trabajo A.

pipeline {
    agent any
    stages {
        stage('necesita ejecutarse en paralelo'){
             steps {
                  parallel(
            a:{
                dir('ruta del archivo'){
                bat """
                npm install
                """
                }
            },
            b:{
              dir('ruta del archivo'){
                    bat """
                    npm start
                    """
                  }
            },
            c:{
              build job: 'TRABAJO_B'
            }
            )
        }
        }
    }
}
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para activar el trabajo B mientras se está ejecutando el trabajo A, puedes usar el paso build para activar otro trabajo de canalización desde el archivo de Jenkins. En el script proporcionado, el bloque c ya incluye un paso build que se puede utilizar para activar el trabajo B. Sin embargo, para asegurar que los bloques a, b y c se ejecuten en paralelo, puedes modificar el script de la siguiente manera:

    pipeline {
        agent any
        stages {
            stage('necesario ejecutar en paralelo'){
                steps {
                    parallel(
                        a:{
                            dir('ruta del archivo'){
                                bat """
                                npm install
                                """
                            }
                        },
                        b:{
                            dir('ruta del archivo'){
                                bat """
                                npm start
                                """
                            }  
                        },
                        c:{
                            parallel(
                                x: {
                                    build job: 'TRABAJO_B'
                                },
                                y: {
                                    // Agrega cualquier otro paso para ejecutarse en paralelo con TRABAJO_B
                                }
                            )
                        }
                    )
                }
            }           
        }
    }
    

    En este script modificado, el bloque c consiste en dos bloques paralelos x e y. El bloque x activa el trabajo B utilizando el paso build, mientras que el bloque y puede incluir cualquier otro paso que necesite ejecutarse en paralelo con el trabajo B.

Comments are closed.