Я хотел бы разделить переменную за два шага.
Я определяю ее следующим образом:
- export MY_VAR="FOO-$BITBUCKET_BUILD_NUMBER"
, но потом, когда я пытаюсь распечатать ее на другом шаге:
- echo $MY_VAR
пусто.
Как мне поделиться такой переменной?
Вы можете скопировать все переменные среды в файл, а затем прочитать их обратно в:
- step1: # Export some variables - export MY_VAR1="FOO1-$BITBUCKET_BUILD_NUMBER" - export MY_VAR2="FOO2-$BITBUCKET_BUILD_NUMBER" - echo $MY_VAR1 - echo $MY_VAR2 # Copy all the environment variables to a file, as KEY=VALUE, to share to other steps - printenv > ENVIRONMENT_VARIABLES.txt - step2: # Read all the previous environment variables from the file, and export them again - export $(cat ENVIRONMENT_VARIABLES.txt | xargs) - echo $MY_VAR1 - echo $MY_VAR2
Примечание. Старайтесь избегать использования строк, в которых есть пробелы или символы новой строки (для переменной средыценности).Если вы не избежите их, команда export не сможет прочитать ее.
export
Дополнительная информация:
printenv
Боюсь, но, кажется, невозможно совместно использовать переменную среды от одного шага к другому, НО вы можете определить глобальные переменные среды для всех шагов в настройках проекта в категории pipelines.
pipelines
Settings -> Pipelines -> Repository Variables