コンテンツへスキップ

アカウントとプロジェクト

Tuist の一部の機能では、データの永続化を提供し他のサービスと連携できるサーバーが必要です。サーバーと連携するには、アカウントと、ローカルプロジェクトに接続するプロジェクトが必要です。

アカウント#

サーバーを利用するにはアカウントが必要です。アカウントには次の 2 種類があります。

  • 個人アカウント: これらのアカウントはサインアップ時に自動的に作成され、ID プロバイダー(例: GitHub)から取得するか、メールアドレスの先頭部分から得られるハンドルで識別されます。
  • 組織アカウント: これらのアカウントは手動で作成され、開発者が定義したハンドルで識別されます。組織では、他のメンバーを招待してプロジェクトで共同作業できます。

GitHub に慣れている場合、概念は似ており、個人アカウントと組織アカウントを持ち、URL を構築する際に使用されるハンドルで識別されます。

Cli-first

アカウントとプロジェクトを管理する操作のほとんどは CLI で行います。アカウントとプロジェクトの管理を容易にするウェブインターフェースの開発を進めています。

tuist organization のサブコマンドを使用して組織を管理できます。新しい組織アカウントを作成するには、次を実行します。

bash
tuist organization create {account-handle}

組織のメンバーシップ#

ユーザーは、招待、自動的なシングルサインオン登録、またはSystem for Cross-domain Identity Management provisioningを通じて組織のメンバーになれます。

組織の ID プロバイダーで認証しても、それだけでメンバーシップが付与されるわけではありません。組織のsingle sign-on enrollment policyにより、信頼済みドメインのユーザーが招待を必要とするか、自動的に参加できるかが決まります。

管理者は、ダッシュボードから、またはtuist organization inviteを使用してメンバーを招待できます。承認時にuser以外のロールを付与するには、--role adminまたは--role viewerを指定してください。

ロール#

すべての組織メンバーは、次の 3 つのロールのいずれかを保持します。

ロール付与される権限
Adminユーザーができることすべてに加え、組織の管理(メンバーと招待、プロジェクト、請求、トークン、Webhook、設定)が可能です。
User組織の作業を読み取り、実行します。ビルドとテストの実行、キャッシュへの書き込み、プレビューの作成と削除、テストケースの状態の変更などを行います。
Viewer組織の作業を読み取りますが、変更は行いません。ダッシュボード、ビルド、テスト実行、不安定なテストおよび隔離されたテスト、プレビュー、バンドル、ランナーのアクティビティはすべて読み取り可能です。マシン上でコマンドを実行するため、ランナーへのインタラクティブシェルまたは VNC セッションのアタッチはできません。

誰かを招待する際にロールを選択し、後でダッシュボードのMembersから変更できます。このように設定されたロールは、後のサインインによって上書きされることはありません。

プロジェクト#

プロジェクトは、リモートプロジェクトを通じてアカウントと統合する必要があります。GitHub との比較を続けると、変更をプッシュするローカルリポジトリとリモートリポジトリを持つことに似ています。tuist projectを使用してプロジェクトを作成および管理できます。

プロジェクトはフルハンドルで識別され、これは組織ハンドルとプロジェクトハンドルを連結した結果です。たとえば、ハンドルがtuistの組織と、ハンドルがtuistのプロジェクトがある場合、フルハンドルはtuist/tuistになります。

ローカルプロジェクトとリモートプロジェクトの紐付けは設定ファイルで行います。設定ファイルがない場合は、Tuist.swiftに作成し、以下の内容を追加してください。

swift
let tuist = Tuist(fullHandle: "{account-handle}/{project-handle}") // e.g. tuist/tuist
Tuist Project-only Features

module cachingなどの一部の機能では、Tuist が管理するプロジェクトが必要です。プロジェクトの管理に Tuist を使用していない場合、これらの機能は利用できません。

プロジェクトの URL はフルハンドルを使用して構築されます。たとえば、公開されている Tuist のダッシュボードはtuist.dev/tuist/tuistでアクセスでき、ここでtuist/tuistはプロジェクトのフルハンドルです。