Make variable visible across steps in Bitbucket pipelines?
我想分两个步骤来共享一个变量。
我把它定义为:
1 | - export MY_VAR="FOO-$BITBUCKET_BUILD_NUMBER" |
但是当我尝试在其他步骤中打印时:
1 | - echo $MY_VAR |
它是空的。
我如何分享这样的变量?
您可以将所有环境变量复制到文件中,然后将其读回:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | - 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 |
注意:尽量避免使用包含空格或换行符的字符串(对于环境变量值)。 如果不转义它们,
更多信息:
-
https://www.cyberciti.biz/faq/linux-list-all-environment-variables-env-command/ - for
printenv 命令 - 从键/值对文件中设置环境变量
我很害怕,但似乎不可能从一个步骤到另一个步骤共享环境变量,但是您可以为
1 | Settings -> Pipelines -> Repository Variables |