Вы не указали источник этого значения.
Вы говорите "передать значение из коммита в ..."
Если это некоторая мета-информация о самом коммите, посмотрите список Предопределенные переменные среды
Существует довольно много переменных с именем CI_COMMIT_*
, которые могут работать для вас.
Однако, если это какое-то значение, которое вы генерируете в конвейере, водну работу и хотите перейти на другую работу - это другой случай.Существует долгоживущий запрос на Передача переменных между заданиями , который все еще не реализован.
Обходной путь на данный момент заключается в использовании артефактов - файлов для передачипоэтапная информация между заданиями.
Наш вариант использования заключается в извлечении версии приложения Java из pom.xml
и последующей передаче ее в какое-либо задание на упаковку.
Вот как мы это делаем в нашем .gitlab-ci.yml
:
...
variables:
VARIABLES_FILE: ./variables.txt # "." is required for image that have sh not bash
...
get-version:
stage: prepare
image: ...
script:
- APP_VERSION=...
- echo "export APP_VERSION=$APP_VERSION" > $VARIABLES_FILE
artifacts:
paths:
- $VARIABLES_FILE
...
package:
stage: package
image: ...
script:
- source $VARIABLES_FILE
- echo "Use env var APP_VERSION here as you like ..."