[概要]
GitLabとは
GitLabは、GitLab社が開発しているソフトウェア開発支援ソフトウェアのことで、GitHubっぽいインターフェースを持っている。
リポジトリブラウザなどのリポジトリ管理機能に加えて、コードレビューやイシュートラッカー、活動履歴機能、Wikiなどの機能を持っており、GitHubと遜色ない機能を持っている。LDAPなどの認証機構との統合もできるため会社などでも利用できるだけの機能は揃えている。
GitLabはオープンソースで提供されており、下記のような種類がある。
- Community Edition
- オープンソースで提供されている
- Enterprise Edition
- 高機能かつサポート付きの有償版
また、継続的インテグレーション(Continuous Integration、CI)機能を提供するGitLab CIというツールも提供されている。
GitLab社が管理するサーバー上で稼動するGitLabを提供するGitLab.comというホスティングサービスも用意されており、GitHubのようにアカウント作成すれば、すぐに利用できるようになる。
特徴
-
プロジェクト
- GitLabでは、1つのリポジトリを1つのプロジェクトとして扱われ、「Issues」や「マージリクエスト」が紐づく構成になっている。
- プロジェクトには公開レベル設定でき、主要なリポジトリ管理サービスからのインポート機能も備わっている。
-
ユーザ/グループ管理
- ユーザ、グループにはそれぞれ名前空間が設定されており、各種アクセス権限を設定できる。
-
リポジトリ管理機能
- ブラウザ上で、リポジトリ作成、ユーザ管理、コミット管理、ブランチ管理、フォーク、プルリクエストなどの処理を行える。
-
課題管理機能「Issues」
- 「Issue」とは、プロジェクトの課題管理機能のことで、「課題」と「ソースコード/マージリクエスト/変更履歴など」をリンクさせて管理でき、情報の一元化が可能となっている。
-
コードレビュー機能
- push時にも「Issue」と「マージリクエスト」の紐付けができる。コードに対してコメントも可能。
-
マージリクエスト機能
- 「Issues」と同じようにタイトル/概要/担当者などを入力し、その後、レビュー担当者がコード差分確認/コメントをして、レビューが通ればマージをして完了という流れになっている。
-
Wiki機能
- リポジトリに関するドキュメントをまとめて管理できる。
-
マイルストン機能
- 各種締め切りの設定/管理を行える。
-
GitLab CI
- 継続的インテグレーションツールも搭載されている。
-
フック機能
- プロジェクト、システムの両方に対してフック対応している。該当イベントが発生した時、GitLabサーバはJSONデータを使って「HTTP POSTリクエスト」を発行する。GitLabを、開発自動化ツール(CIサービス/チャットサービス/デプロイ用ツール)などと連携可能。
-
認証連携機能
- LDAPなどの認証機構との連携も可能なため、会社などの大規模開発でも利用可能。
-
クラウド対応
- GitLabはローカルサーバに構築できるが、クラウド環境(AWS/Google Cloud Platformなど)にも構築できる。クラウドサービスごとに、インスタンスイメージ(インスタンステンプレート)が用意されている。
-
ドキュメントが充実
- 各種インストール方法などのドキュメントが充実しており、ネット上でも情報は多い。
依存関係
リンク
-
公式サイト
-
公式ドキュメント
-
リポジトリ