1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Gitlabって便利じゃね?

Posted at

Gitlabについて

なぜ書こうと思ったか

Gitlabを会社で使うことがあって、使っていたら結構便利じゃね?ってなったが、
誰もあまり教えてくれないので宣伝を兼ねて作成。
Gitlabさん。宣伝費をくれてもいいのよ

Gitlabってそもそも何?

Gitlabは主に企業などで大規模開発を行う際に利用するものです。
コマンドや操作感はほとんど、Githubと同じです。
では何が違うのかですが、Gitlabの最大の特徴は主に2つあります。

  • リポジトリの管理を階層形式で管理できる
  • アクセス権の管理が非常に楽

1つずつ解説していきます。

※ビルドなどでも便利そうな機能がありますが全容把握してないので、それは割愛。

リポジトリの階層管理

リポジトリをフォルダやファイルと同じように階層構造で以下のように管理ができます。

.
├── your_groupA/
│   ├── sub_groupA1/
│   │   ├── your_repositoryA1
│   │   └── your_repositoryA2
│   └── sub_groupA2/
│       ├── your_repositoryA3
│       └── your_repositoryA4
└── your_groupB/
    ├── sub_groupB1/
    │   ├── your_repositoryB1
    │   └── your_repositoryB2
    └── sub_groupB2/
        ├── your_repositoryB3
        └── your_repositoryB4

正直これだけは具体的なイメージがわかないと思います。
以下が実際のGitlabの画像です。
image.png

ここでいう「trade」などがyour_groupAに該当します。
例として「仮想通貨データ取得」のグループに移動してみます。

image.png

ここではリポジトリの作成やサブグループの作成が可能です。
今はリポジトリだけ作成している状況です。
右上の新しいサブグループや、新しいプロジェクトでリポジトリやサブグループの作成が可能です。
結構管理が容易じゃないですか?
Githubあるあるリポジトリを乱雑に作りまくってどれがどれだかわからなくなるという事象がこれで解決できるので、かなり便利だと思います。

アクセス権の管理が非常に楽

これは大規模開発であればあるほど起きる問題だと思いますが、

  • リポジトリへのアクセス権をいちいち付与するのはだるい
  • アクセスできても閲覧権だけにしたい
    など様々要望があるかと思います。
    そういう際に、ここではグループごと(サブグループを含む)にコントリビューターのように招待でき、そこでアクセス権の調整が可能です。
    Role系の管理画面は以下のようになっていますので早速見てみましょう。

image.png

※アカウントとソースはちょっとばれるとだるい情報が含まれていたので隠させてもらいました。ソースは誰がこの人を招待したとかが書いています。

ロールではどのような権限の付与ができるかですが、
以下ロールをグループ単位で付与が可能です。

  • Guest (This role applies to private and internal projects only.)
  • Planner
  • Reporter
  • Developer
  • Maintainer
  • Owner
  • Minimal Access (available for the top-level group only)
    出典:公式ガイド

なにがなにやらという感じですが以下が権限でできることの表になります。

Action Guest Planner Reporter Developer Maintainer Owner
マージ履歴などの監視
マージ履歴などのダッシュボード監視
イシューの閲覧
コントリビューターの状況監視
View value stream analytics
マージリクエストの詳細監視
DevOpsの導入状況
メトリクスのダッシュボード監視
リポジトリやグループの作成権限

このようにアクセス権をグループごとの細かく設定できます。
また有効期限を設定できるため、派遣さんなど有期契約の方でも管理が容易です。
これで大規模開発を行う際に、Aさんはバックエンド開発なので、バックエンドグループにはDeveloperでアクセス権を与えてあげようとか、BさんはPMOなので、全部のリポジトリにアクセス権を与えるけど、作成権はあたえたくないので、Reporter権限で全部のリポジトリにアクセス権を与えようなど…自由自在です。
少人数であってもチームを組んで開発を行うならあると結構役に立つと思います。
少なからず僕はアクセス権を毎度毎度付与して友達と開発するのは正直かったるいなと思うので結構便利です。

まとめ

リポジトリを階層管理しつつ、それをもとにアクセス権を与えることで簡単に大規模開発のリポジトリを管理できてめっちゃ便利だよねっていう代物です。
ぜひ会社や個人開発で活用してみてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?