Circleci 从现有环境变量创建环境变量
Circleci create environment variable from existing env var
在 circle ci 仪表板中,我设置了环境变量,例如 DEV_USEFUl_API_KEY、PROD_USEFUL_API_KEY。然后在我的 circleci 配置文件 (v2.1) 中我这样做
- run:
name: Run Tests
command: |
if [ "${CIRCLE_BRANCH}" == "master" ]; then
echo 'export FIREBASE_API_KEY=${PROD_FIREBASE_API_KEY}' >> $BASH_ENV
elif [[ "${CIRCLE_BRANCH}" == "develop" ]]; then
echo 'export FIREBASE_API_KEY=${DEV_FIREBASE_API_KEY}' >> $BASH_ENV
fi
yarn test
我的测试 运行 时的想法是,将读取环境变量。我已经在我的节点应用程序 process.env 中打印出来,我可以看到变量 PROD_FIREBASE_API_KEY、DEV_FIREBASE_API_KEY 在环境中,但是没有预期的 FIREBASE_API_KEY。
我尝试将命令的语法更改为:
echo 'export FIREBASE_API_KEY=$PROD_FIREBASE_API_KEY' >> $BASH_ENV
还有
echo 'export FIREBASE_API_KEY="$PROD_FIREBASE_API_KEY"' >> $BASH_ENV
然而它没有任何区别,变量FIREBASE_API_KEY没有设置,任何人都可以请教吗?谢谢
解决方案是将 yarn test 放在另一个 运行 步骤中,因为在设置新的环境变量后需要重新加载 bash 配置文件(这发生在每个 运行).
- run:
name: Configure Environment Variables
command: |
if [ "${CIRCLE_BRANCH}" == "master" ]; then
# Set env variables
elif [[ "${CIRCLE_BRANCH}" == "develop" ]]; then
# Set env variables
fi
- run:
name: Run Tests
command: |
yarn test
在 circle ci 仪表板中,我设置了环境变量,例如 DEV_USEFUl_API_KEY、PROD_USEFUL_API_KEY。然后在我的 circleci 配置文件 (v2.1) 中我这样做
- run:
name: Run Tests
command: |
if [ "${CIRCLE_BRANCH}" == "master" ]; then
echo 'export FIREBASE_API_KEY=${PROD_FIREBASE_API_KEY}' >> $BASH_ENV
elif [[ "${CIRCLE_BRANCH}" == "develop" ]]; then
echo 'export FIREBASE_API_KEY=${DEV_FIREBASE_API_KEY}' >> $BASH_ENV
fi
yarn test
我的测试 运行 时的想法是,将读取环境变量。我已经在我的节点应用程序 process.env 中打印出来,我可以看到变量 PROD_FIREBASE_API_KEY、DEV_FIREBASE_API_KEY 在环境中,但是没有预期的 FIREBASE_API_KEY。
我尝试将命令的语法更改为:
echo 'export FIREBASE_API_KEY=$PROD_FIREBASE_API_KEY' >> $BASH_ENV
还有
echo 'export FIREBASE_API_KEY="$PROD_FIREBASE_API_KEY"' >> $BASH_ENV
然而它没有任何区别,变量FIREBASE_API_KEY没有设置,任何人都可以请教吗?谢谢
解决方案是将 yarn test 放在另一个 运行 步骤中,因为在设置新的环境变量后需要重新加载 bash 配置文件(这发生在每个 运行).
- run:
name: Configure Environment Variables
command: |
if [ "${CIRCLE_BRANCH}" == "master" ]; then
# Set env variables
elif [[ "${CIRCLE_BRANCH}" == "develop" ]]; then
# Set env variables
fi
- run:
name: Run Tests
command: |
yarn test