Не удалось найти способ задания переменных задания или множества заданий с помощью сценария, запускаемого в атрибуте before script - PullRequest
1 голос
/ 03 октября 2019

Я хочу отобразить значения из файла .sh в .gitlab-ci.yml, но не могу найти решение.
PS: Я не хочу использовать переменные среды в. файл yml

Мой файл versions.sh выглядит следующим образом:

export PROJECT_VERSION = 2.1.25

Мой файл .gitlab-ci.yml имеет следующий вид:

before_script:
  - ./versions.sh

my_build_job:
  - script:
    - 'echo "PROJECT_VERSION = $(PROJECT_VERSION)"'

1 Ответ

1 голос
/ 03 октября 2019

Я понимаю, что вы не хотите использовать переменные окружения в файле .yml, но этот сценарий version.sh определяет переменную.

Чтобы отобразить ее, синтаксис будет:

- 'echo "PROJECT_VERSION = ${PROJECT_VERSION}"'

То есть ${...}, а не $(...), который выполняет команду в подоболочке.

Но, как обсуждалось в gitlab-org/gitlab-foss выпуск 27921 , это не будет работать.

Вам потребуется источник вашего сценария, , как предлагается здесь :

my_build_job:
  - script:
    - source ./versions.sh
    - 'echo "PROJECT_VERSION = $(PROJECT_VERSION)"'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...