Я обычно называю артефактами на основе коммитов , из которых они были собраны. Основываясь на этой документации , CODEBUILD_WEBHOOK_PREV_COMMIT
- это то, что я ищу в AWS Code Build
Вот buildspec.yml
phases:
install:
commands:
- apt-get update -y
build:
commands:
- export $CODEBUILD_WEBHOOK_PREV_COMMIT
- echo Entered the build phase...
- echo Build started on `date`
- mvn clean install -Dmaven.test.skip=true
- for f in ./target/*.car;do mv -- "$f" $(echo $f | sed -E "s/.car$/_${CODEBUILD_WEBHOOK_PREV_COMMIT}.car/") ;done
artifacts:
files:
- ./target/*.car
Сборка работает, но commit не отображается в окончательном .car
имени. Я хотел бы понять почему.
Гипотеза № 1: VAR
s должен быть явно получен
Я попробовал следующее без особого успеха
env:
variable:
- COMMIT="${CODEBUILD_WEBHOOK_PREV_COMMIT}"
phases:
install:
commands:
- apt-get update -y
build:
commands:
- echo Entered the build phase...
- echo Build started on `date`
- mvn clean install -Dmaven.test.skip=true
- carpath=./*_CA/target/*.car
- for f in $carpath;do mv -- "$f" $(echo $f | sed -E "s/.car$/_${COMMIT}.car/") ;done
VAR
s доступны только для AWS контейнер сборки по умолчанию
Я использую официальный образ Maven maven:3.6.3-jdk-8
вместо образа сборки общего назначения Amazon. Доступны ли VAR
для пользовательских изображений? Я не могу найти никаких четких указаний, что они не