在circle ci儀表板中,我設定了環境變數,如DEV_USEFUl_API_KEY、PROD_USEFUL_API_KEY。然后在我的circleci組態檔(v2.1)中我這樣做
- run:
名稱。運行測驗
command: |
if [ "${CIRCLE_BRANCH}" == "master" ]; then
echo 'export FIREBASE_API_KEY=${PROD_FIREBASE_API_KEY}' > > $BASH_ENV
elif [[ "${CIRCLE_BRANCH}" == "開發" ]]; 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沒有被設定,誰能提供建議?謝謝。
uj5u.com熱心網友回復:
解決方案是將yarn測驗放在另一個運行步驟中,因為在設定新的env變數后,bash組態檔必須被重新加載(這發生在每次運行的開始)。
- run:
name: 配置環境變數
command:
if [ "${CIRCLE_BRANCH}" == "master" ]; then
# Set env variables
elif [[ "${CIRCLE_BRANCH}" == "開發" ]]; then
# Set env variables
fi
- 運行。
名稱。運行測驗
command: |
yarn test。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/308019.html
標籤:
上一篇:stdinfromheredocnotprintingtoscreen?
下一篇:用jq給文本加標題
