Não é possível usar AWS CLI no Jenkins devido ao erro “Não é possível localizar credenciais”

Não é possível usar AWS CLI no Jenkins devido ao erro “Não é possível localizar credenciais”

Estou usando Jenkins para CI. Preciso conseguir extrair um arquivo de um bucket S3. Dentro do trabalho do jenkins eu faço o seguinte diagnóstico no shell do jenkins:

cd ~

isso me leva para /var/lib/jenkins

whoami

isso retorna o usuário jenkins

dentro de /var/lib/jenkins eu tenho minha pasta .aws com o arquivo de configuração e credenciais, mas quando executo

aws configure list

Eu entendi isso:

      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

Não há nada lá, embora eu tenha a pasta .aws e as informações corretas nesses dois arquivos. Originalmente, tentei colocar a pasta .aws em /home/jenkins, mas também não funcionou.

Então, como faço para que o Jenkins realmente funcione com o aws cli?

Responder1

Você pode exportar as credenciais como variáveis ​​ambientais:

$ 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 maiores informações. Dependendo de como você está usando o Jenkins, você pode querer usar oPlug-in EvnInject

Responder2

Este método funcionou para mim:

  1. Crie um diretório /var/lib/jenkinschamado .aws (ou copie a pasta .aws do diretório inicial se você já configurou suas credenciais do aws por meio do comando "aws configure")
  2. Em seguida, vá até /var/lib/jenkins/.awse escreva sudo shown -R jenkins ./para alterar o proprietário dos arquivos no diretório .aws.

Responder3

Atualize suas credenciais do aws no bash do servidor jenkins. Execute os comandos abaixo:

# sudo -su jenkins
# aws configure

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

Responder4

Se você estiver vendo esse problema na rede corporativa ao usar a função de instância, certifique-se de que as configurações de proxy estejam corretas.

informação relacionada