GitLab アジャイルポートフォリオ管理 - ハンズオンラボ: GitLab で組織構造を作成する
完了までの推定時間: 30 分
目標
GitLab では、プロジェクトとサブグループを使用することでコードベースを整理し、プロジェクトを効率的に管理できます。このラボでは、組織のサブグループを作成する方法、プロジェクトを作成する方法、ユーザーをプロジェクトに追加する方法を学びます。
組織ネームスペース: アクセス権とグループ作成権限を持つ任意の親グループの下にサブグループを作成できます。組織では、グループの構造や命名方法についてのベストプラクティスをドキュメント化しておくべきです。不明な場合は、別のグループのメンバーを確認し、Owner ロールを持つユーザーに相談してください。
個人ネームスペース: 個人ネームスペース(例: https://gitlab.com/exampleuser/example-project)に_プロジェクト_を作成することはできますが、個人ネームスペースに_グループ_を作成することはできません。
セキュリティに関する注意: 親グループや祖先グループへのアクセス権を持つユーザーは、このグループへの権限を継承します。トレーニング環境では、各受講者は自分のサブグループへの直接メンバーアクセスのみを持ち、親グループへの継承されたメンバーアクセスは持ちません。詳細についてはサブグループメンバーシップのドキュメントを参照してください。
ヒント: グループとサブグループの複数レベルのコレクションを作成する際、パンくずリストはサブグループ間を移動するのに便利な方法です。
前提条件
招待コード / バウチャーコードをすでに利用済みであること。
既存のユーザー名で https://gitlab.com にサインイン済みであること。
My Groupボタンをクリックして、URL がhttps://gitlab.com/gitlab-learn-labs/environments/session-{id}/iu{######}となる新しいブラウザタブを開いていること。グループのタイトルがMy Test Group - iu{######}と表示されていることを確認してください。
タスク A. GitLab 自身のソースコードのグループとプロジェクトを確認する
新しいブラウザタブで https://gitlab.com/gitlab-org を開きます。このグループには GitLab の製品ソースコードがすべて含まれており、会社のバリューに基づいてほぼオープンソース・透明性を持って公開されています。
グループとプロジェクトの一覧から、Frontend サブグループのリンク名をクリックします。2ページ目にページングする必要がある場合もあります。
Frontend サブグループ内で、このグループに属するプロジェクトとサブグループを確認できます。少し時間をとってこれらのサブグループとプロジェクトを探索してみましょう。
タスク B. 組織のサブグループを作成する
ラボ環境タブで、自分の My Test Group グループにいることを確認します。My Test Group グループにいない場合(つまり
https://gitlab.com/gitlab-learn-labsのスプラッシュページにいる場合)、https://gitlab.com/gitlab-learn-labs/environments/session-{id}/iu{######}に移動し、{id}は使用した招待コードに、iu{######}はユーザー名に置き換えてください。右上の New Subgroup ボタンをクリックします。
Subgroup name フィールドに
Awesome Incと入力します。Subgroup URL は、このグループが作成されるネームスペース階層を示します。
- このクラスでは Subgroup URL を変更しないでください。これらのステップでは、トップレベルの組織グループとなる
https://gitlab.com/gitlab-learn-labs/...の下に常にプロジェクトを作成します。
- このクラスでは Subgroup URL を変更しないでください。これらのステップでは、トップレベルの組織グループとなる
Subgroup slug は名前に基づいて自動入力されます。
awesome-incをawesomeに変更してください。- ベストプラクティス: このスラッグはプロジェクトパスとして表示され、URL パスと
git cloneを実行したときのフォルダ名の両方に使われます。適切な場合は短縮することがベストプラクティスです。
- ベストプラクティス: このスラッグはプロジェクトパスとして表示され、URL パスと
Visibility level が
Privateになっていることを確認します。プライベートなサブグループにすることで、グループとそのプロジェクトはメンバーのみが表示できるようになります。公開レベルの詳細についてはドキュメントを参照してください。
Create subgroup ボタンをクリックします。
Awesome Incというタイトルのグループが表示され、ブラウザの URL がhttps://gitlab.com/gitlab-learn-labs/environments/session-{id}/iu{######}/awesomeというパスになります。
おめでとうございます! 最初のグループを作成しました。次は自分でグループを追加してみましょう。Awesome Inc グループ内に、各チームのサブグループを作成してください。
- Software
- Core(これは
Softwareのサブグループで、Awesome Incの直下ではありません) - Android
- iOS
- Core(これは
- Infrastructure
- Security
- Software
タスク C. 新しいプロジェクトを作成する
先ほど作成した Awesome Inc > Software > Core サブグループに移動します。
Create new project タイルをクリックします。
Create blank project タイルをクリックします。
Project name フィールドに
Family Budget Calculatorと入力します。プロジェクト URL に
/awesome/software/coreが含まれていることを確認します。これはプロジェクトがcoreサブグループ内にあることを示しています。プロジェクトスラッグはデフォルト値
family-budget-calculatorのままにしておきます。Visibility Level を private に設定します。
詳細については公開設定のドキュメントを参照してください。
Privateの公開設定を持つ親グループの設定は、すべての子グループとプロジェクトに継承され、変更できないことに注意してください。トレーニング環境の制限: トレーニング環境では、グループはプライベートな親グループの一部となっているため、グループやプロジェクトを
Publicに設定することはできません。パブリックプロジェクトを使って作業をテストするには、個人ネームスペースにプロジェクトを作成してください。Initialize repository with a README チェックボックスを有効にします。
Enable Static Application Security Testing (SAST) のチェックは外したままにします。
Create project を選択します。
タスク D. プロジェクトメンバーを追加してロールを設定する
Family Budget Calculator プロジェクトで、左サイドバーの Manage > Members をクリックします。
右上の Invite members ボタンをクリックします。
招待するユーザーとして講師を検索・選択します。セルフペースコースを受講中の場合は、自分のメールアドレスを入力してください。
Select a role ドロップダウンで Developer を選択します。セルフペースコースを受講中の場合は Owner を選択してください。
各ロールレベルの詳細については権限とロールのドキュメントを参照してください。
Invite ボタンをクリックします。
ページを更新して、ユーザーが Direct Member として招待されたことを確認します。
ユーザーはこのプロジェクトが存在する親グループ階層から権限を継承します。ユーザーが親グループですでに高いレベルのアクセス権(例:
Maintainer)を持っている場合、そのアクセスレベルはプロジェクトレベルで設定された低い権限(例:Developer)より優先されます。
変更のご提案
変更を提案したい場合は、マージリクエストを使用して送信してください。
