Невозможно использовать AWS CLI в Jenkins из-за ошибки «Не удалось найти учетные данные»

Невозможно использовать AWS CLI в Jenkins из-за ошибки «Не удалось найти учетные данные»

Я использую Jenkins для CI. Мне нужно иметь возможность вытащить файл из контейнера S3. Внутри задания jenkins я делаю следующую диагностику из оболочки jenkins:

cd ~

это переносит меня в /var/lib/jenkins

whoami

это возвращает пользователя jenkins

внутри /var/lib/jenkins у меня есть папка .aws с файлом конфигурации и учетных данных, но когда я запускаю

aws configure list

Я понимаю это:

      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

Там ничего нет, хотя у меня есть папка .aws и правильная информация в этих двух файлах. Изначально я пытался поместить папку .aws в /home/jenkins, но это тоже не сработало.

Итак, как мне заставить Jenkins работать с AWS CLI?

решение1

Вы можете экспортировать учетные данные как переменные среды:

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

Видетьhttp://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.htmlдля получения дополнительной информации. В зависимости от того, как вы используете Jenkins, вы можете использоватьПлагин EvnInject

решение2

Мне помог этот метод:

  1. Создайте каталог /var/lib/jenkinsс именем .aws (или скопируйте папку .aws из домашнего каталога, если вы уже настроили свои учетные данные aws с помощью команды «aws configure»)
  2. Затем перейдите вниз /var/lib/jenkins/.awsи напишите sudo shown -R jenkins ./, чтобы сменить владельца файлов в каталоге .aws.

решение3

Пожалуйста, обновите ваши учетные данные aws в bash сервера jenkins. Выполните следующие команды:

# sudo -su jenkins
# aws configure

Ссылка для справки:http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ami-jenkins.html

решение4

Если вы столкнулись с этой проблемой в корпоративной сети при использовании роли экземпляра, убедитесь, что настройки прокси-сервера верны.

Связанный контент