Не следует использовать CodeDeploy, поскольку это сервис для автоматизации развертываний приложений, а стоит использовать CodeBuild, который выполняет команды и подготавливает артефакт развертывания для дальнейшего использования в конвейере.
Эти команды находятся вфайл buildspec.yml
(обычно в корневом каталоге репозитория, но его можно настроить).Для вашего случая использования это не будет слишком сложно, так как вы ничего не компилируете, не запускаете тесты и т. Д.
Попробуйте это как отправную точку:
version: 0.2
phases:
build:
commands:
- ls
artifacts:
files:
- public/*
The *Раздел 1009 * обязателен, поэтому он включен (по крайней мере, благодаря команде ls
вы увидите, какие файлы присутствуют в среде CodeBuild), но он не интересен для вашего случая.Что интересно, так это раздел artifacts
.Здесь вы определяете, что является выходом фазы CodeBuild, то есть что передается дальше на следующий шаг в конвейере.
В зависимости от того, как вы хотите структурировать файлы (например, хотите ли вы, чтобы каталог public
также находился в артефакте, или вы хотите, чтобы файлы были только сами, без родительского каталога)вы можете использовать другую конфигурацию, которая возможна в разделе artifacts
.Подробности см. В справочнике buildspec .
Не забудьте использовать выходной артефакт шага CodeBuild в качестве входного артефакта шага Deploy to S3.