CLI

設定

CLI從哪裡讀取設定、它遵循哪些環境變數,以及如何控制遙測。

CLI從旗標、環境變數、它的設定檔與內建預設值讀取每個設定,並把一切儲存在~/.polylane底下。這個頁面列出順序、變數,以及如何控制遙測。

優先順序

CLI依這個順序解析每個設定,最高者勝出:

  1. CLI旗標,例如--workspace、--api-key、--output與--timeout。
  2. 環境變數:POLYLANE_*這一組,加上標準的NO_COLOR與DO_NOT_TRACK。
  3. 僅限憑證,~/.polylane/credentials.json中的OAuth權杖。
  4. 位於~/.polylane/config.json的設定檔。
  5. 內建預設值:網域api.polylane.com、逾時300秒、在終端機中輸出text、管線化時輸出json。

匯出的POLYLANE_API_KEY永遠勝過過時的~/.polylane/credentials.json,所以設定了該變數的CI執行器不會撿到殘留的OAuth權杖。驗證列出憑證的同一份順序。

設定檔

~/.polylane/config.json接受六個鍵:domain、workspace_id、api_key、output、timeout與telemetry。透過CLI管理它:config show印出解析後的設定、使用中的驗證方式與檔案路徑,API金鑰會被遮罩。

Terminal
polylane config show
polylane config set --key output --value json

要以slug而非ID設定預設工作區,執行polylane workspace use <slug>。OAuth憑證另外存放在~/.polylane/credentials.json,並在存取權杖即將到期時自行刷新。

環境變數

變數說明
POLYLANE_API_KEY不在磁碟上儲存金鑰即可驗證
POLYLANE_WORKSPACE_ID為目前的shell設定工作區
POLYLANE_API_DOMAIN指向不同的API主機名稱;只接受主機名稱,不含協定
POLYLANE_OUTPUT強制輸出text或json
POLYLANE_TIMEOUT請求逾時,以秒為單位
POLYLANE_VERBOSE啟用詳細日誌
POLYLANE_TELEMETRY=0為這個環境停用遙測
DO_NOT_TRACK=1通用的遙測退出選項;覆寫其他所有遙測設定,包括設定檔
NO_COLOR停用ANSI色彩

遙測

匿名使用遙測預設開啟。它記錄指令名稱、旗標名稱、位置參數的數量、結束代碼與錯誤類別、持續時間、CLI與Node版本、作業系統細節、每次安裝的匿名識別碼與工作區ID。旗標值、參數、檔案路徑、指令輸出與完整的錯誤訊息都不在其中,而polylane telemetry status會確切顯示送出了什麼、送到哪裡。

用polylane telemetry disable永久關閉它,這會寫入設定檔;或用POLYLANE_TELEMETRY=0或DO_NOT_TRACK=1針對單一環境關閉。決定依序遵循DO_NOT_TRACK、POLYLANE_TELEMETRY、設定檔,最後是預設的開啟;沒有針對單次呼叫的旗標。

磁碟上的檔案

CLI儲存的一切都位於~/.polylane底下:

檔案說明
config.json儲存的設定:網域、工作區、API金鑰、輸出、逾時、遙測
credentials.jsonOAuth權杖
telemetry.json匿名安裝ID與執行計數器
update-state.json更新檢查狀態

刪除這個目錄即可完全重設CLI;下次執行時會產生新的安裝ID。

相關頁面

  • 驗證:登入方式,以及憑證如何被選用。
  • 指令碼:輸出契約、指令碼旗標與結束代碼。