環境變數
在第一個步驟開始前寫入建置環境的值,在腳本裡以一般環境變數取用:
bash
npm ci
NODE_ENV=$NODE_ENV npm run build
curl -H "Authorization: Bearer $DEPLOY_TOKEN" https://example.com/deploy機密
變數可以標記為機密。標記後:
- API 回應中預設遮蔽,只有明確帶
?reveal=true才回傳實際值,而工具列的顯示機密值觸發的就是這個。 - 建置輸出中的值會換成
***,由系統設定 → 安全的在建置輸出中遮蔽機密值控制。關掉它,機密會原樣印進日誌,而日誌會依保留期限留著——很少有好理由這樣做。
遮蔽是對輸出做字串替換。如果你的腳本印出前先轉換過機密(例如做了 base64),就攔不到。
套用範圍與優先順序
變數套用在建置上,寫在第一個步驟之前,所以:
- 建置中的每個步驟都看得到,因為每個步驟都是從同一張表重新開的 shell。
- 某個步驟寫進
$WALIS_ENV_FILE的值,會對該次建置後續的步驟覆蓋這裡的設定。見步驟。
會被移除的東西
ConnectionStrings__* 會從建置環境中移除,讓建置查不到 Walis 資料庫的位置。開著建置隔離的話它本來就讀不到那個檔案——但這兩道防線各自獨立,而且兩道都開著。