AWS CodePipeline добавляет артефакты в S3 в менее полезном формате, чем отдельные шаги
Я создал CodePipeline с конечной целью - разместить основной сервис на S3 в качестве частного репозитория maven для других конвейеров, на которые можно положиться. Когда базовая служба обновлена и отправлена в AWS CodeCommit, конвейер должен запуститься, протестировать его, построить jar-файл с использованием образа док-станции maven, а затем перенести полученный jar-файл на S3, где он может быть доступен другим приложениям при необходимости.
К сожалению, хотя служба CodeBuild работает именно так, как я хочу, загружая XYZCore.jar в /release в корзину, сам автоматизированный конвейер не работает. Вместо этого он загружает в папку "XYZCorePipeline", которая содержит входные и выходные артефакты сборки. Сам выходной артефакт представляет собой zip-файл, который представляет собой просто произвольную строку символов. Я проверил конвейер, и он правильно использует сервис, но конкретные сборки конвейера всегда выводят туда, в то время как автономные сборки сервиса CodeBuild выводят так, как я бы хотел, позволяя мне использовать такие вещи, как управление версиями. Какой лучший способ исправить настройки, чтобы две сборки совпадали?
1 ответ
К сожалению, CodePipeline не поддерживает этот вариант использования.
В качестве обходного пути вы можете загрузить артефакт на S3, вызвав AWS CLI (aws s3 cp ...) из вашего buildspec.yml post_build.