Как использовать учетные данные AWS с Jenkins для развертывания в Elastic Beanstalk? - PullRequest
0 голосов
/ 31 января 2019

Я ввел учетные данные AWS в Jenkins на /credentials, однако они не отображаются в раскрывающемся списке для шагов после сборки в плагине AWS Elastic Beanstalk.

enter image description here

Если я нажимаю Проверить учетные данные, я получаю эту странную ошибку.

enter image description here

Ошибка com.amazonaws.SdkClientException: невозможно загрузить учетные данные AWS от любого поставщика в цепочке: [EnvironmentVariableCredentialsProvider: невозможно загрузить учетные данные AWS из переменных среды (AWS_ACCESS_KEY_ID (или AWS_ACCESS_KEY) и свойства AWS_SECRET_KEY (или из AWS_SECRENCE_NET):(aws.accessKeyId и aws.secretKey), com.amazonaws.auth.profile.ProfileCredentialsProvider@5c932b96: файл профиля не может быть пустым, com.amazonaws.auth.EC2ContainerCredentialsProviderWrapper@32abba7: запрошенные метаданные 101 не найдены в ** на com.amazonaws.auth.AWSCredentialsProviderChain.getCredentials (AWSCredentialsProviderChain.java:136)

Я не знаю, откуда он получил этот IP-адрес.Когда я ищу этот IP в каталоге Jenkins, я обнаруживаю

-bash-4.2$ grep -r 169.254.169.254 *
plugins/ec2/AMI-Scripts/ubuntu-init.py:conn = httplib.HTTPConnection("169.254.169.254")

Содержимое этого файла здесь: https://pastebin.com/3ShanSSw


На самом деле есть 2 разных AmazonПлагины Elastic Beanstalk.

Ни один из них не работает.Ни один из них не отобразит учетные данные в раскрывающемся списке.После обновления Jenkins я не могу даже показать «Развертывание в Elastic Beanstalk» как шаг после сборки для первого (v0.3.19), хотя он установлен только один.

Для второго плагина (v1.7.4) я вижу этот снимок экрана:

enter image description here

Когда я заполняю то, что могуи запустить его, он выдает ошибку

No credentials provided for build!!!
Environment found (environment id='e-yfwqnurxh6', name='appenvironment'). Attempting to update environment to version label 'sprint5-13'
'appenvironment': Attempt 0/5
'appenvironment': Problem:
com.amazonaws.services.elasticbeanstalk.model.AWSElasticBeanstalkException: No Application Version named 'sprint5-13' found. (Service: AWSElasticBeanstalk; Status Code: 400; Error Code: InvalidParameterValue; Request ID: af9eae4f-ad56-426e-8fe4-4ae75548f3b1)

Я попытался добавить подзадачу S3 в развертывание Elastic Beanstalk, но это не удалось с исключением.

Учетные данные не предоставлены для сборки !!!
Root File Object - это файл.Мы предполагаем, что это zip-файл, и это нормально.
Загрузка файла awseb-4831053374102655095.zip как s3: //appname-sprint5-15.zip
ОШИБКА: сбой шага сборки за исключением
com.amazonaws.services.s3.model.AmazonS3Exception: предоставленный вами XML не был правильно сформирован или не соответствует нашей опубликованной схеме (Сервис: Amazon S3; Код состояния: 400; Код ошибки: MalformedXML; Идентификатор запроса: 7C4734153DB2BC36; Расширенный идентификатор запроса S3: x7B5HflSeiIw ++ NGosos08zO5DxP3WIzrUPkZOjjbBv856os69QRBVgic62nW3GpMtBj1IxW7tc =), S3 ID расширенного запроса: x7B5HflSeiIw ++ * NGosos08WW6W6jB0RBR6B6R6B6R5

1 Ответ

0 голосов
/ 05 февраля 2019

Дженкинс безнадежно устарел и не поддерживается.Я добавил плагин Post Build Task, установлен eb инструмент как jenkins пользователь, запустил eb init в каталоге заданий, отредактировал .elasticbeanstalk/config.yml, чтобы добавить строки

deploy:
  artifact: target/AppName-Sprint5-SNAPSHOT-bin.zip

Затем введите команду оболочки для развертывания сборки.

/var/lib/jenkins/.local/bin/eb deploy -l sprint5-${BUILD_NUMBER}

enter image description here

...