Я пытаюсь создать образ Docker с помощью AWS CodeBuild.
Я следую примеру сборки кода AWS ниже https://docs.aws.amazon.com/codebuild/latest/userguide/sample-docker.html
ниже то, что я сделал.
Я пишу buildspec.yml вот так (точно так же, как я видел в предыдущей ссылке) buildspec.yml
и я начинаю сборку проекта с помощью aws CodeBuild, но получаю сообщение об ошибке Журнал сборки кода:
Сообщение YAML_FILE_ERROR: выбор версии среды выполнения не поддерживается этим образом сборки. <== что означает это сообщение? Есть ли другая версия среды выполнения докеров, кроме 18? Что я должен делать?
пожалуйста помоги...
@C.Peck Я отредактировал этот пост. вставьте снимок экрана buildspec.yml, версия файла yaml: 0.2, версия среды выполнения: 18
Для изображений aws/codebuild/standard:2.0 вы должны указать версии среды выполнения в спецификации сборки. Образец здесь: https://docs.aws.amazon.com/codebuild/latest/userguide/sample-runtime-versions.html
Также обратите внимание, что, поскольку вашей сборке требуется доступ к докеру внутри контейнера сборки, вам нужно будет включить привилегированный режим для вашего проекта CodeBuild.
Я указываю версии среды выполнения, как я опубликовал (см. ссылку на мое изображение buildspec.yml), и я меняю привилегированный режим на true, но получаю тот же результат.
Здесь не указана конфигурация вашего проекта CodeBuild. Можете ли вы подтвердить, что используете «aws/codebuild/standard:2.0», а не какой-либо другой образ сборки? Runtime-версии в buildspec поддерживаются только образом стандарта: 2.0 или более поздними версиями (когда они станут доступны).
спасибо, я решил эту проблему после того, как привилегированный режим стал истинным.
Я получил следующую ошибку после исправления.
2019/10/06 00:21:59 Phase context status code: YAML_FILE_ERROR Message:
Runtime version selection is not supported in version 0.1, see documentation
Решение:
Приложив много усилий в этом вопросе, я понял, что это версия сверху, которая нуждается в исправлении. Я менял версию образа Ubuntu, но версия в верхней части buildspec.yml
должна быть изменена.
version: 0.2
phases:
install:
runtime-versions:
docker: 18
да. Версия верхнего уровня «версия: 0.1» должна быть изменена на «версия: 0.2».
Пытаясь использовать проект Gradle для Spring Boot,
buildspec.yml
version: 0.2
phases:
install:
runtime-versions:
java: corretto11
build:
commands:
- bash ./gradlew clean build
artifacts:
files:
- build/libs/codecommitdemo-0.0.1-SNAPSHOT.jar
- appspec.yml
- scripts/*
discard-paths: yes
выберите изображение, которое поддерживает желаемое время выполнения, отсюда https://docs.aws.amazon.com/codebuild/latest/userguide/available-runtimes.html
Это было уже упоминалось в этом ответе. Пожалуйста, не дублируйте ответы.
Какую версию YAML вы используете и какая версия среды выполнения указана в ней?