No se puede utilizar AWS CLI en Jenkins debido al error "No se pueden localizar las credenciales"

No se puede utilizar AWS CLI en Jenkins debido al error "No se pueden localizar las credenciales"

Estoy usando Jenkins para CI. Necesito poder extraer un archivo de un depósito S3. Dentro del trabajo de jenkins hago el siguiente diagnóstico desde el shell de jenkins:

cd ~

esto me lleva a /var/lib/jenkins

whoami

esto devuelve el usuario jenkins

dentro de /var/lib/jenkins tengo mi carpeta .aws con el archivo de configuración y credenciales, pero cuando ejecuto

aws configure list

Entiendo esto:

      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                <not set>             None    None
access_key                <not set>             None    None
secret_key                <not set>             None    None
    region                <not set>             None    None

No hay nada allí aunque tengo la carpeta .aws y la información correcta en esos dos archivos. Originalmente intenté colocar la carpeta .aws en /home/jenkins pero tampoco funcionó.

Entonces, ¿cómo consigo que jenkins realmente funcione con aws cli?

Respuesta1

Puede exportar las credenciales como variables ambientales:

$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
$ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
$ export AWS_DEFAULT_REGION=us-west-2

Verhttp://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.htmlpara más información. Dependiendo de cómo esté usando Jenkins, es posible que desee utilizar elComplemento EvnInject

Respuesta2

Este método funcionó para mi:

  1. Cree un directorio en /var/lib/jenkinsel llamado .aws (o copie la carpeta .aws del directorio de inicio si ya configuró sus credenciales de aws mediante el comando "aws configure")
  2. Luego vaya /var/lib/jenkins/.awsy escriba sudo shown -R jenkins ./para cambiar el propietario de los archivos en el directorio .aws.

Respuesta3

Actualice amablemente sus credenciales de AWS dentro del bash del servidor jenkins. Ejecute los siguientes comandos:

# sudo -su jenkins
# aws configure

Link de referencia:http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ami-jenkins.html

Respuesta4

Si ve este problema dentro de la red corporativa mientras utiliza la función de instancia, asegúrese de que la configuración del proxy sea correcta.

información relacionada