帳號與專案
部分 Tuist 功能需要伺服器來提供資料持久化,並能與其他服務互動。若要與伺服器互動,你需要一個帳號,以及一個與本機專案連接的遠端專案。
帳號#
要使用伺服器,你需要一個帳號。帳號有兩種類型:
- 個人帳號: 這類帳號在你註冊時自動建立,並以控制代碼識別;該控制代碼取自身分提供者(例如 GitHub)或電子郵件地址的第一部分。
- 組織帳號: 這類帳號由開發者手動建立,並以開發者定義的控制代碼識別。組織可邀請其他成員共同協作專案。
如果你熟悉 GitHub,其概念類似:你可以擁有個人與組織帳號,並以用於建構 URL 的控制代碼來識別。
管理帳號與專案的大部分操作都透過 CLI 完成。我們正在開發網頁介面,讓帳號與專案的管理更輕鬆。
你可以透過 tuist organization 下的子指令來管理組織。要建立新的組織帳號,請執行:
tuist organization create {account-handle}
組織成員資格#
使用者可以透過邀請、自動單一登入註冊,或跨網域身分管理 (SCIM) 佈建成為組織成員。
使用組織的身分提供者進行驗證本身並不會授予成員資格。組織的單一登入註冊政策會決定來自其信任網域的使用者是否需要邀請,或是可以自動加入。
管理員可以從儀表板或使用 tuist organization invite 邀請成員。傳遞 --role admin 或 --role viewer,以便在被邀請者接受時賦予其非 user 的角色。
角色#
每位組織成員都持有以下三種角色之一:
| 角色 | 權限說明 |
|---|---|
| 管理員 | 具備使用者所有權限,並可管理組織:成員與邀請、專案、帳單、權杖、Webhook 與設定。 |
| 使用者 | 讀取並對組織的工作執行操作:執行建置與測試、寫入快取、建立與刪除預覽,以及變更測試案例的狀態。 |
| 檢視者 | 僅讀取組織的工作,且不進行任何變更。儀表板、建置、測試執行、不穩定與隔離測試、預覽、套件以及執行器活動皆可讀取。但無法將互動式 Shell 或 VNC 工作階段附加至執行器,因為這會在機器上執行指令。 |
邀請他人時選擇角色,之後可在儀表板的成員中變更。以此方式設定的角色不會被後續登入覆寫。
專案#
你的專案需要透過遠端專案與你的帳號整合。延續與 GitHub 的類比,這就像擁有本機與遠端儲存庫,並將變更推送到遠端。你可以使用 tuist project 來建立与管理專案。
專案以完整控制代碼識別,這是將組織控制代碼與專案控制代碼串接後的結果。例如,若你有一個控制代碼為 tuist 的組織,以及一個控制代碼為 tuist 的專案,則完整控制代碼會是 tuist/tuist。
本機與遠端專案之間的綁定是透過設定檔完成。如果尚未建立,請在 Tuist.swift 建立並加入以下內容:
let tuist = Tuist(fullHandle: "{account-handle}/{project-handle}") // e.g. tuist/tuist
請注意,部分功能(例如模組快取)需要由 Tuist 管理的專案。若你未使用 Tuist 管理專案,將無法使用這些功能。
你的專案 URL 是使用完整控制代碼建構而成。例如,Tuist 的公開儀表板可在 tuist.dev/tuist/tuist 存取,其中 tuist/tuist 是專案的完整控制代碼。