Не удалось развернуть AWS CodePipeline - PullRequest
0 голосов
/ 03 ноября 2018

Я пытаюсь настроить конвейер непрерывной интеграции для моей простой лямбда-функции AWS. Признаюсь, я впервые использую кодовый конвейер AWS. У меня проблемы с настройкой конвейера. Этап развертывания в конвейере не выполняется.

Я создал CodeBuild

enter image description here

Затем я создал приложение в CodeDeploy

enter image description here

Затем я создал CodePipeline, выбрав источник в качестве GitHub. Выбранный репозиторий и ветка из GitHub. Затем связал конвейер с приложением CodeDeploy и ранее созданным CodeBuild.

После сохранения конвейера и его построения я получаю эту ошибку.

enter image description here

Когда я проверяю детали ошибки, она говорит это

Unable to access the artifact with Amazon S3 object key 'the-goodyard-pipelin/BuildArtif/G12YurC' located in the Amazon S3 artifact bucket 'codepipeline-us-east-1-820116794245'. The provided role does not have sufficient permissions.

По сути, этот Bucket также не существует. Разве ведро не создается автоматически? Что пошло не так с моей настройкой? Как я могу это исправить, пожалуйста?

Ведро также существует. Это просто ошибка.

В корзине я также вижу zip-файл.

enter image description here

1 Ответ

0 голосов
/ 04 ноября 2018

Что ж, сообщение об ошибке выглядит само собой разумеющимся, роль, которую вы назначили для codebuild, не имеет достаточного доступа для перехода к s3. Зайдите в codebuild -> Build projects -> выберите свой проект -> нажмите на вкладку «Build Details». Вы увидите ARN «Service Role», который, если вы щелкнете по нему, отправит вас на эту роль IAM (если вы не являетесь администратором этой учетной записи, у вас может не быть достаточных разрешений для просмотра IAM, поскольку это служба критических разрешений, так что уточните у администратора Проверьте политики для этой роли и проверьте, имеют ли политики действие: s3: GetObject для ресурса: ваше ведро. Если это не так, то вам нужно добавить его. Используйте визуальный редактор, используйте S3 в качестве службы, добавьте Get * в качестве действия и свой контейнер s3 к нему.

...