ОК Вот сценарий.
У меня есть ведомое устройство Jenkins в AWS, и я прикрепил к нему роль, которая позволяет ему создавать ресурсы EC2. Я нашел роль через список выпусков Packer на github. Вот роль
У меня есть мой проект Packer, который пытается построить на ведомом устройстве. При запуске сборки происходит сбой:
[1; 31mBuild 'amazon-ebs' с ошибкой: NoCredentialProviders: в цепочке нет допустимых поставщиков. Устарело. Подробные сообщения см. На странице aws.Config.CredentialsChainVerboseErrors [0m
==> Некоторые сборки не завершились успешно и имели ошибки: -> amazon-ebs: NoCredentialProviders: в цепочке нет действующих поставщиков. Устарело. Подробные сообщения см. На странице aws.Config.CredentialsChainVerboseErrors.
Если я запустил aws configure и введу настоящие учетные данные, это, очевидно, сработает, но я пытаюсь этого избежать. Я проверил, что к экземпляру прикреплена правильная роль. Я также убедился, что могу правильно переключиться на эту роль через командную строку.
Мне кажется, что мне не хватает роли, связанной с экземпляром и упаковщиком, с указанием роли с помощью: 'iam_instance_profile', почему это продолжает терпеть неудачу.
Есть предположения?
.json
, который вы используете? - person Castaglia   schedule 01.04.2016packer
предоставляет роль для использования через-var packer_profile="foo"
параметры командной строки, да? Или вы там полагаетесь на значение упаковщика по умолчанию? - person Castaglia   schedule 01.04.2016.json
называется PackerPolicy.json (что подразумевает имя роли PackerPolicy), но имя роли, которое вы устанавливаете в командной строке, - PackerJenkins? - person Castaglia   schedule 01.04.2016