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.

Error de Parámetro No Encontrado en mi pipeline de Jenkins

Tengo un pipeline de Jenkins que está asociado con un servicio de AWS que tiene parámetros de una clave adjunta. Cada vez que intento extraer los detalles de la clave a través del back-end, puedo ver los detalles del parámetro, pero cuando intento hacer lo mismo a través de un código de pipeline usando la sintaxis Groovy para mostrar y acceder a este parámetro, obtengo el siguiente error:

  • aws ssm get-parameter –name privatekey
  • grep -oP (?<=”Value”: “)[^”]*

Se produjo un error (ParameterNotFound) al llamar a la operación GetParameter:

El comando que utilicé para extraer el valor del parámetro es:

aws ssm get-parameter –name privatekey | grep -oP (?<=”Value”: “)[^”]*

¿Puedes sugerirme una forma de acceder y obtener los valores de mis parámetros a través del código del pipeline, mostrando así mi salida en el trabajo de pipeline…

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para acceder y obtener los valores de los parámetros a través del código del pipeline, puedes usar el Plugin AWS Systems Manager Parameter Store. Este plugin te permite acceder y usar parámetros del AWS Systems Manager Parameter Store en el código del pipeline de Jenkins.

    Aquí están los pasos que puedes seguir:

    1. Instala el Plugin AWS Systems Manager Parameter Store en tu instancia de Jenkins.
    2. En tu código del pipeline, agrega el siguiente código para recuperar el valor del parámetro:

    def privateKey = ssmParameter("${parameterName}")
    

    parameterName es el nombre de tu parámetro en el AWS Systems Manager Parameter Store.

    1. Agrega el bloque withAWSParameterStore para delegar las credenciales de AWS y la región al plugin.
    withAWSParameterStore(
        credentials: 'my-aws-credentials',
        regionName: 'us-west-2'
    ) {
        def privateKey = ssmParameter("${parameterName}")
    }
    

    Reemplaza my-aws-credentials y us-west-2 con tus credenciales de AWS y nombre de la región, respectivamente.

    1. Ahora puedes usar la variable privateKey en tu código del pipeline.
    pipeline {
        agent any
        stages {
            stage('Recuperar valor del parámetro') {
                steps {
                    withAWSParameterStore(
                        credentials: 'my-aws-credentials',
                        regionName: 'us-west-2'
                    ) {
                        def privateKey = ssmParameter("${parameterName}")
                        echo "La clave privada es: ${privateKey}"
                    }
                }
            }
        }
    }
    

    Esto recuperará el valor del parámetro privateKey del AWS Systems Manager Parameter Store y lo mostrará en la salida del trabajo del pipeline.

Comments are closed.