Правильное размещение учетных данных AWS для конфигурации Jenkins / Packer - PullRequest
0 голосов
/ 18 марта 2019

Мне нужно, чтобы Packer создал образ в AWS. Шаблон Packer будет храниться в репозитории Github и развертываться с использованием Jenkins.

Где я могу указать свои AWS Access и секретные ключи? Я не могу поместить их в шаблон JSON в Github (это было бы плохо): (

Я настраиваю свои ключи доступа, используя AWS cli на сервере Jenkins, или я могу указать свои в плагине Jenkins Packer?

Ответы [ 3 ]

0 голосов
/ 19 марта 2019

Я буду исследовать, используя плагин секретов Дженкинса.Тем временем я могу указать секретный ключ и ключ доступа в поле «Дополнительные параметры», как показано.Шаблон Packer сохраняется в Github, который Jenkins выбирает при выполнении задания.Не использовал плагин Github Pull по соображениям безопасности.

введите описание изображения здесь

0 голосов
/ 03 апреля 2019

Как ответил Рикард, лучше использовать роль экземпляра.Способ, который мы реализовали, заключается в том, что у нас есть роль «PackerRole» с необходимыми разрешениями, которая используется упаковщиком.В файле packer.json обозначьте эту роль как «iam_instance_profile»: «PackerRole».

Теперь создайте отдельную роль под названием «JenkinsRole» (любое подходящее имя, которое будет использоваться узлом Jenkins), которая имеет встроенную политику для передачи «PackerRole».

{"Sid": "", "Effect": "Allow", "Action": "iam: passrole", "Resource": "arn: aws: iam :: 1234567: role / PackerEc2Role"}

0 голосов
/ 18 марта 2019

Лучшим вариантом является использование рабочего узла с ролью экземпляра , который имеет права на запуск Packer. Второй вариант - использовать плагин секретов Jenkins для хранения секретов и установки их в качестве переменных среды в задании сборки Packer.

...