GitLab アジャイルポートフォリオ管理 - ハンズオンラボ: 組織の構造化
完了までの推定時間: 30分
目標
GitLab では、プロジェクトとサブグループがコードベースの整理とプロジェクトの効果的な管理を支援します。このラボでは、組織のサブグループの作成方法、プロジェクトの作成方法、プロジェクトへのユーザーの追加方法を学習します。
組織のネームスペース: アクセス権があり、その下にグループを作成する権限がある任意のグループの下にサブグループを作成できます。組織では、グループの構造化や命名方法についてのベストプラクティスを文書化しているはずです。不明な場合は、グループのメンバーを確認して、Owner ロールを持つユーザーの1人に相談してください。
個人ネームスペース: 個人ネームスペース(例: https://gitlab.com/exampleuser/example-project)に_プロジェクト_を作成することはできますが、個人ネームスペースに_グループ_を作成することはできません。
セキュリティ警告: 親または祖父母グループへのアクセス権を持つユーザーは、このグループに対して継承された権限を持ちます。トレーニング環境では、各受講者はサブグループへの直接メンバーアクセスのみを持ち、親グループへの継承されたメンバーアクセスは持ちません。詳細についてはサブグループメンバーシップのドキュメントを参照してください。
ヒント: パンくずリストは、複数レベルのグループとサブグループのコレクションを作成する際にサブグループ間を移動する良い方法です。
タスク A. GitLab 独自のソースコードのグループとプロジェクトを確認する
新しいブラウザタブで、https://gitlab.com/gitlab-org に移動してください。このグループには、私たちの会社の価値観に基づいてほとんどがオープンソースで透明性のある GitLab の製品ソースコードがすべて含まれています。
グループとプロジェクトの一覧で、Frontend サブグループのリンク名をクリックしてください。見つけるためにスクロールダウンまたはページネーションを使用する必要があるかもしれません。
Frontend サブグループ内で、このグループの一部として存在するすべてのプロジェクトとサブグループを確認できます。しばらくこれらのサブグループとプロジェクトを探索してみましょう。
タスク B. 組織のサブグループを作成する
ilt.gitlabtraining.cloudにアクセスして個人のトップレベルグループに移動し、Groups をクリックしてください。グループセクションで Events の隣にある矢印をクリックし、次に Session XXXXXXXX apm(Xはランダムな文字と数字に置き換えられます)の矢印をクリックしてください。Group YYYYY(Yはランダムな文字と数字に置き換えられます)というグループがあるはずです。Group YYYYYY というタイトルのグループをクリックしてください。そのグループに移動してください。
右上角の New Subgroup ボタンをクリックしてください。
Subgroup name フィールドに
Awesome Incと入力してください。Subgroup URL は、このグループが作成されるネームスペース階層を示します。
Subgroup slug は名前に基づいて自動的に入力されます。
awesome-incをawesomeに変更します。- ベストプラクティス: このスラッグは プロジェクトパス として表示されます。つまり、URLパスと
git cloneを実行した際のフォルダ名の両方になります。適切な場合はこれを短縮することがベストプラクティスです。
- ベストプラクティス: このスラッグは プロジェクトパス として表示されます。つまり、URLパスと
Visibility level が
Privateに設定されていることを確認してください。プライベートサブグループにすることで、グループとそのプロジェクトがメンバーのみに表示されるようになります。表示レベルの詳細についてはドキュメントを参照してください。
Create subgroup ボタンをクリックしてください。
Awesome Incというタイトルのグループが表示され、ブラウザのURLがhttps://ilt.gitlabtraining.cloud/training-users/session-<INVITATION_CODE>/<USERNAME>/awesomeのパスを反映します。
おめでとうございます! 最初のグループを作成しました。これで独自の追加グループを作成する準備ができました。Awesome Inc グループ内に、この素晴らしい会社の各チームのサブグループを作成します:
- Software
- Core(これは
Awesome IncではなくSoftwareのサブグループです) - Android
- iOS
- Core(これは
- Infrastructure
- Security
- Software
タスク C. 新しいプロジェクトを作成する
作成した Awesome Inc > Software > Core サブグループに移動してください。
Create project タイルをクリックしてください。
Create blank project タイルをクリックしてください。
Project name フィールドに
Family Budget Calculatorと入力してください。プロジェクトURLに
/awesome/software/coreがパスに表示されていることに注意してください。これはプロジェクトがcoreサブグループにあることを示しています。プロジェクトのスラッグはデフォルト値
family-budget-calculatorのままにします。Visibility Level がプライベートに設定されていることに注意してください。
詳細については表示設定のドキュメントを参照してください。親グループが
Privateの表示設定の場合、すべての子グループとプロジェクトに継承されるため変更できないことに注意してください。トレーニング環境の制限: トレーニング環境では、グループはプライベートな親グループの一部であるため、グループやプロジェクトを
Publicにすることはできません。パブリックプロジェクトの動作をテストするには、個人ネームスペースにプロジェクトを作成してください。Initialize repository with a README チェックボックスにチェックが入っていることを確認します(デフォルトでチェック済みです)。
Enable Static Application Security Testing (SAST) のチェックは外しておきます。
Create project を選択してください。
タスク D. プロジェクトメンバーを追加してロールを設定する
Family Budget Calculator プロジェクトで、左サイドバーの Manage > Members をクリックしてください。
右上角の Invite members ボタンをクリックしてください。
Username, name or email address ボックスにメールアドレスを入力し、そのメールアドレスが表示される選択ボックスをクリックしてください。
Select a role ドロップダウンで Developer を選択してください。
各ロールレベルの詳細については権限とロールのドキュメントを参照してください。
Invite ボタンをクリックしてください。
Pending Invitations タブに切り替えて、Direct Member として招待されたユーザーを確認してください。
ユーザーはこのプロジェクトが存在する親グループ階層から権限を継承します。ユーザーが親グループですでに高いレベルのアクセス権(例:
Maintainer)を持っている場合、そのアクセスレベルはプロジェクトレベルで割り当てられた低い権限(例:Developer)より優先されます。
ラボガイド完了
このラボの演習を完了しました。このコースの他のラボガイドを確認できます。
ご提案はありますか?
ラボへの変更を希望する場合は、マージリクエストで変更を送信してください。
