CodeBuild (AWS) от CodePipeline (AWS)

Я пытаюсь запустить несколько сборок с помощью CodePipeline (AWS), и когда конвейер запускает CodeBuild, CodeBuild завершается со следующей ошибкой:

[Container] 2018/02/07 19:30:20 Waiting for DOWNLOAD_SOURCE

Сообщение: доступ запрещен

Дополнительная информация:

  • Источник взят из Github.
  • Если я запускаю CodeBuild вручную, он отлично работает.

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

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


person Eugenio Valeiras    schedule 07.02.2018    source источник


Ответы (3)


Я только что обнаружил это на днях. Я не уверен, что это где-то задокументировано, но в пользовательском интерфейсе Code Pipeline это определенно непонятно.

Любой проект CodeBuild, инициированный CodePipeline, должен быть создан через пользовательский интерфейс CodePipeline. Это не может быть «отдельный» проект CodeBuild.

При создании проекта CodeBuild из пользовательского интерфейса CodePipeline для параметра «Поставщик исходного кода» установлено значение «AWS CodePipeline», что недоступно при самостоятельном создании проекта CodeBuild.

CodePipeline получает собственный исходный код с GitHub. Затем он передает этот исходный код в ваш проект CodeBuild. Если ваш проект получает собственный исходный код с GitHub, то, похоже, это вызывает описанную вами проблему:

[Container] 2018/02/06 14:58:37 Waiting for agent ping
[Container] 2018/02/06 14:58:37 Waiting for DOWNLOAD_SOURCE

Чтобы решить эту проблему, необходимо отредактировать этап «сборки» CodePipeline и выбрать «Создать новый проект сборки» в разделе «AWS CodeBuild, настроить свой проект». Вы можете скопировать большинство настроек из существующего проекта и повторно использовать файл buildspec.yml в исходном коде.

person Matt Houser    schedule 07.02.2018
comment
Я люблю вас. 5 часов исследований в помойку - person Eugenio Valeiras; 08.02.2018
comment
Спасибо, что поделились этим! Простая вещь, которая может быть легко решена или, по крайней мере, задокументирована командой AWS - person brunocrt; 09.03.2018

У меня была такая же точная ошибка. Codebuild работал нормально, когда я запускал его в одиночку, но для того, чтобы заставить его работать в CodePipeline, мне пришлось обновить свою роль CodePipeline, чтобы разрешить доступ к корзине S3.

person Alex Mireles    schedule 19.03.2018

Способом решения этой проблемы было создание CodeBuild с помощью мастера CodePipeline. Таким образом мастер предоставляет CodeBuild необходимые привилегии.

person Eugenio Valeiras    schedule 07.08.2018