【发布时间】:2021-11-09 12:47:03
【问题描述】:
在圆形 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 没有设置,有人可以请教吗?谢谢。
【问题讨论】:
-
您可以尝试在您的管道中记录“${CIRCLE_BRANCH}”的值吗?我认为你的 if 和 else if 条件都没有满足,所以它甚至不会去那里。或者尝试使用相同的命令添加 else 条件
-
它的值是master。
CIRCLE_BRANCH: 'master' -
用“”代替“”
-
请问在哪一部分? @猎户座
-
echo "export FIREBASE_API_KEY=$PROD_FIREBASE_API_KEY" >> $BASH_ENV
标签: node.js bash circleci circleci-2.0