GitLab Documentation > User documentation > グループ
プロジェクトがいくつも溜まってくると、きちんと誰にでも分かりやすく分類したり、「特定の人物しかアクセスさせない」プロジェクトをまとめて作成したくなるでしょう。GitLabのグループ機能は、そのようなときに利用します。
グループには、その下にサブグループを設けることができ、より構造的なプロジェクト分類が可能です。
インターフェイスの左側の引き出しメニューから「Groups」という項目をクリックすると、皆さんが所属しているグループが一覧表示されます。
(写真1)GitLab の Groups
Groupsページに移動すると、皆さんが所属している全てのグループを確認することができます。いくつのプロジェクトに属していて、それぞれのグループには何人メンバーがいて、どれくらいの頻度で活動がなされているかなどが簡単に表示されています。
さらに、一定のアクセス許可があるグループについては、グループ設定ページへのリンクが登場します。
「last=退出」ボタンをクリックすると、そのグループから離脱することができます。
使い道
この機能の使い道はあまりにも多岐にわたりますが、いくつか挙げるとすれば次の通りでしょう。
名前空間
GitLabでは、名前空間は主に、「ユーザー名」、「グループ名」、「サブグループ名」の3種類の固有名詞で構成されています。それぞれのアドレスは次のように表記されます。
例示として、「John」というユーザーの活動形態が、どのように記録されるかをご覧ください。
これに応じて、ツイッターでいうところのハッシュタグのようなものが構成されます。
グループ内で、イシューやマージリクエストを提出する
イシューやマージリクエストは、プロジェクトにおいて重要な役割を担います。異なるプロジェクト同士でも同じグループにさえ存在していれば、イシューやマージリクエストを同時に一気に把握することが可能ですので、それだけのためにグループを設立することも十分に価値がある行為です。
新しくグループを作成する
注:
- グループ名には、いくつか利用できない文字、語句があります。詳しくはreserved namesをご覧ください。
さあ、GitLabのグループ機能の効能が理解できたところで、グループの作り方を説明します。
上記いずれかの方法をとると、次の画面に遷移します。それぞれの欄に記入すべき事項について説明しますね。
(写真4)グループの情報を記述しよう
グループにユーザーを加入させる
メンバーを加入させるには、グループのダッシュボードから、「Members」というタブをクリックします。
(写真5)メンバーを追加
まずは、そのメンバーにどれほどの権限(パーミッション・レベル)を与えるかを指定します。新メンバーとして加入させるには、それを必ず指定しなくてはなりません。
さらに、ユーザーがグループに在籍する期間を限定することができます。期限が切れると、そのユーザーはグループへのアクセス権をなくしますので、短期間しか一緒に仕事をしない方にはこれを設けておくと、「忘れたころに勝手にアクセスされた」などの被害を防止できます。
複数のプロジェクトをグループ化することの利点に、プロジェクトのアクセス権を一括管理できるところがあります。
同じチームで2つ以上のプロジェクトを製作する際には、グループを設けましょう。
各ユーザーのアクセスレベルは、必要に応じて拡大させることができできます。ただしその時には、そのユーザーをもう一度、新規メンバーとして登録しなおさなくてはなりません。登録初期設定の際にパーミッション・レベルを設定しなおします。
グループにアクセスを頼み込まれた場合
グループとして活動しているうちに、メンバー外の人物からアクセス許可を頼まれることがあるかもしれません。皆さんがグループのオーナーであれば、もちろん、許可を出すこともできますし、拒否することも可能です。
グループの設定ページに移動して、「Allow users to request access」をクリックすることで、そのユーザーにアクセス許可を出すことができます。
このとき、頼む側であるユーザーとしては、どこかのグループに加入を申請をしているわけです。
これについては、加入したいグループを探し出して、画面右側の「Request Access」ボタンをクリックすることで、 申請が開始されます。
(写真6)「Request Access」ボタン
グループのオーナーとマスターに通知が届くことになっており、「members」ページには、そのメンバーを承認するか、断るかを選択するコーナーが出来上がっているはずです。
(写真7)アクセス申請を判定するコーナー
申請した側から、中途で申し出を取り下げるときには、「Withdraw Access Request」をクリックします。
(写真8)「Withdraw Access Request」ボタン
グループにプロジェクトを追加する
プロジェクトを追加する方法は、2種類あります。どちらか使いやすい方を選んでください。
グループ内でのプロジェクト作成権を調整する
GitLab Premium 10.5にて導入。
デフォルトの状態では、グループ内でプロジェクトを作成する権限があるユーザーは、オーナーと管理者に限られています。
これを全てのメンバーに許可する場合には、GitLabの管理者が、管理者領域の「Settings > Visibility and Access Controls」に移動して、設定を変更する必要があります。これを全てのメンバーに許可する場合には、GitLabの管理者が、管理者領域の「Settings > Visibility and Access Controls」に移動して、設定を変更する必要があります。
このページでは、グループのプロジェクト作成権のみならず、同じサーバーにある全てのプロジェクトに同様の権限を与えるように設定することが可能です。
選択肢は、「None(誰もできない)」「Masters(グループマスターだけが可能)」「Developers + Masters(全ての開発者とマスターに許可する)」の3つです。
既存のプロジェクトをグループに移動させる
詳しくは、transfer a project into a groupをご覧ください。
グループでプロジェクトを共有する
これはプロジェクトに対して、グループ単位でアクセスする際によく使われます。他グループとの合同プロジェクトなどにも応用できるかもしれません。
「特定のグループメンバー以外には、見ず知らずのユーザーに立ち入られては困る」プロジェクトについては、グループ共有機能を切りましょう。その方法はこのページの終わりごろ「グループの共有機能を切る」で紹介します。
LDAPを経由して、メンバーのログイン管理ができます
これは、GitLab Enterprise Edition限定の機能です。
GitLabのグループは、LDAPグループを利用したメンバー管理が可能です。詳しくはGitLab Enterprise Edition documentation をご覧ください。
Epics
GitLab Ultimate 10.2にて導入。
Epicsとは、プロジェクトのポートフォリオをより効率よく管理したり、グループに送られたイシューをより効率的に収集するために、テーマを共有したり、すべてのプロジェクトのマイルストーンを把握しやすくする機能です。
グループを他のグループに移籍させる
GitLab 10.5にて導入。
この操作は、主に以下の状況で発生します。
ただし、次のリスクを踏まえたうえで実行してください。
Groupの「Settings」ページにある設定項目
グループを作成すると、ダッシュボードの「Settings」ページでぜひ設定しておきたい事項が、いくつか発生します。
General タブ
ここには皆さんがグループを作成する際に実施した、初期設定の内容が記録されています。
変更する機会はめったにないとはいえ、次の場合には、ここの設定を改変することがあります。
グループへのパスを変更しなくてはならない
この操作は、思わぬ副作用を発生させる可能性があります。redirects will behaveをよく読んでから、実施をご検討ください。
パスを変更する事態に至った場合は、移籍先のグループやユーザーに配慮して、グループ名も変更してしまうことが望ましいと思われます。パスには重複がないように注意しましょう。
方法:
警告:コンテナレジストリがついているプロジェクトがグループにある場合は、グループ名を変更してはなりません。コンテナレジストリが動作しなくなります。
ヒント:元々の名前空間を維持したい、URLリダイレクトを避けたいなど、いずれにせよ元のプロジェクトを消滅させたくない場合があります。そのときはグループのパスや名称を変更せずに、グループを新規作成し、そこにプロジェクトを移動させるのが賢明でしょう。
メンバー認証に2元認証を導入する
2元認証をグループ全員に義務付けて、より強固なセキュリティ対策を取りましょう。
グループの共有機能を切る
グループが他のグループのユーザーたちに立ち入られないように、共有機能を停めることができます。これにより、プロジェクトのアクセス制限がより厳格になるでしょう。
たとえば、Group A と Group B という全く別のチームがあって、このたび共同のプロジェクトを立ち上げたとします。グループのメンバーシップの関係上、あなたは2つのチームAとBだけでプロジェクトを共有しなくてはなりません。「Share with group lock」を使うと、グループAとBの他にはそのプロジェクトに入ってこられなくなります。そうすることで、そのグループには正規のメンバーしか入ってこられなくなるのです。
この機能を利用するには、グループの設定ページから、「Share with group lock」を選択してください。「Save the group」をクリックして適用させます。
(写真11)「Share with group lock」チェックボックス
Member Lock
GitLab Starter と GitLab.com Bronzeにて利用可能
メンバーロックとは、グループ内でのメンバーの権限を固定して、役割が逆転しないようにする機能です。
この機能を使うかどうかは各グループのオーナーだけが決定できます。グループのメンバー権を固定してしまう機能であることから、同じグループに存在しているプロジェクト全てで、同じ人物が同じ役割を担うことになります。
詳しくはMember Lockをご覧ください。
それによって、たとえばグループで制作されたアプリケーションの検査役はいつも同じ人に任せることができます。現場の人がろくにしてもいない品質検査をクリアしたことにする心配などは、幾分か減るでしょう。監督を設けて作風が乱れないようにするなどの工程にも役立ちます。
Member Lockを使ったら、1つの役割を同じ人が未来永劫し続けなくてはならないわけではありませんよ。役割は他の人に交代することができます。また、権限を他の人に与えて、人数を増やして負担を減らすこともできます。
この機能を使うには、グループのSettingsページから「Member lock and Save group」にチェックマークを入れてください。「Save the group」をクリックして適用させます。
(写真12)「Member lock and Save group」チェックボックス
この設定を使ってしまうと、通常ならプロジェクトのメンバーを管理できていたユーザーですら、その権限を制限されてしまいます。よって、新しいユーザーをグループに追加することができなくなります。同時に、他のユーザーからグループに加入申請する操作も受け付けられなくなります。
その他「Settings」ページにあるタブ
ユーザー貢献分析
GitLab Starter と GitLab.com Bronzeにて利用可能
ユーザー貢献分析機能(GitLab Contribution Analytics)では、どのような頻度でプッシュ、マージリクエスト、イシューを出しているかなど、それぞれのメンバーの活動状況を確認できます。
2018-03-23 19:56:52 / Hnoss