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.

Unificando varios archivos Groovy de la biblioteca compartida de Jenkins en uno solo.

Soy nuevo en Jenkins Shared Library. Configura una biblioteca compartida que tenga algunos archivos .groovy relacionados con la limpieza de paquetes nuget, restauración de paquetes nuget, construcción y publicación de proyectos .net core. Ahora quiero un archivo .groovy único en mi biblioteca compartida que llame a las funciones de cada uno de estos archivos .groovy. Por ejemplo, el siguiente es el script groovy para limpiar nuget:


def call(String projectPath){
bat "dotnet clean ${projectPath} --configuration Release"
bat "dotnet nuget locals all --clear"
}

El siguiente es el script groovy para restaurar nuget:


def call(String nugetConfig, String projectPath){
bat "dotnet restore --no-cache --configfile ${nugetConfig} ${projectPath}"
}

Ahora quiero un script groovy que llame a las funciones de ambos scripts groovy en un solo archivo groovy que se mantenga en la misma biblioteca compartida de Jenkins.

Gracias de antemano.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para llamar a las funciones de ambos archivos .groovy, crea un nuevo archivo .groovy en la biblioteca compartida y agrega el siguiente código:

    def cleanAndRestore(String nugetConfig, String projectPath) {
        clean(projectPath)
        restore(nugetConfig, projectPath)
    }
    
    def clean(String projectPath){
      bat "dotnet clean ${projectPath} --configuration Release"
      bat "dotnet nuget locals all --clear"
    }
    
    def restore(String nugetConfig, String projectPath){
      bat "dotnet restore --no-cache --configfile ${nugetConfig} ${projectPath}"
    }
    

    Este script incluye una nueva función cleanAndRestore, que toma las rutas y configuraciones necesarias para las funciones clean y restore. cleanAndRestore simplemente llama ambas funciones en secuencia.

    Al poner este archivo en la misma biblioteca compartida, puedes usar cleanAndRestore en tus pipelines sin preocuparte de dónde se encuentran las funciones individuales.

Comments are closed.