GitLab.com vs GitLab

GitLab compared to other tools

FEATURES

共有Runner、または個別RunnerでのCI/CDが無料

GitLab.comが提供する共有Runnerを使用して、プライベートプロジェクトでは毎月2000分までのCI/CDを、パブリックプロジェクトでは時間無制限のCI/CDを無料で利用できます。さらに、より高速なビルド、時間無制限のビルド、特殊な要件などに対応するために個別Runnerをセットアップして使用することもできます。

GitLab.comのプランを表示

統合されたCI/CD

GitLabにはCI/CD機能が統合されているので、CI/CDのために他のツールをインストールする必要はありません。GitLabのCI/CDを使用して、ウェブサイト(GitLab Pages)やウェブアプリケーションをビルド・テスト・デプロイできます。ジョブの結果はマージリクエストに表示され、簡単にアクセスできます。

CI/CDの詳細

インナーソース

GitLabの内部プロジェクトにより、内部リポジトリのインナーソースが促進されます。

インナーソースの詳細

コミットグラフとレポートツール

GitLabは共同作業に役立つ、コミットグラフとレポートツールを提供します。

コミットグラフの詳細

グループマイルストーン

グループレベルのマイルストーンを使用して、複数のプロジェクトを横断的に進捗管理できます。複数のプロジェクトを横断的に、現在作業中の課題をまとめて表示することができます。

グループマイルストーンの詳細

可用性

GitLabは99.95%以上の可用性を目標としていますが、現在は99.5%にとどまっています。GitLabは可用性の改善に継続的に取り組んでいます。

GitLab.comの稼働状況

巨大オープンソースプロジェクトにとって最適な場所

GitLabはあらゆるソフトウェアプロジェクトにとって最適な場所となることを目指しています。GitLabのチームは、巨大オープンソースプロジェクトのメンテナーとコントリビューターの両者が直面する問題を、より簡単に解決できるように取り組んでいます。

GitLabを巨大オープンソースプロジェクトにとって最適な場所にする取り組み

包括的なインポート機能

GitHubや他のVCSと比較して、GitLabはより多くのソース(GitHub、BitBucket、Google Code、FogBugz、Gitea、git URL)からプロジェクトや課題をインポートすることができます。また、SVNからGitへ移行するための包括的なガイドとドキュメントも用意されています。

GitLabの利用開始をより簡単に

プロジェクトのエクスポート

GitLabのプロジェクトを他のシステムにエクスポートすることが可能です。

GitLabはデータへのアクセスを制限しません

強力な課題管理

複数の課題のステータスや担当者やマイルストーンを素早く一括で設定でき、設定した値で簡単に絞り込みができます。プロジェクトを横断して、マイルストーンや課題を表示できます。

課題管理の詳細

課題ボード

GitLabには、課題のラベルをベースに課題をリストを表示する、課題ボードがあります。課題ボードは課題管理をよりユーザーフレンドリーな形で提供するものです。

GitLab課題ボードの詳細

バーンダウンチャート

GitLabではマイルストーンのバーンダウンチャートを表示できます。これはスプリントやソフトウェアの新バージョンの作業の進捗管理に役立ちます。

バーンダウンチャートのドキュメントを表示

関連した課題

関連した課題を明示的に紐付けることができます。

関連した課題の詳細

課題の複数担当者

一度に複数の担当者を課題に設定できます。

課題の複数担当者のドキュメントを表示

作業時間の記録

GitLabでは課題とマージリクエストに作業時間の見積と実績を入力できます。

作業時間の記録の詳細

Wiki によるプロジェクトのドキュメント

それぞれのプロジェクトのドキュメントを管理するためにWikiが使用できます。。すべてのWikiは独立したGitリポジトリとして利用できます

GitLabのWikiの詳細

課題個別の期限日

GitLabでは個々の課題に対して期限日を設定できます。これは、特定の期限日までにしなければならない、複数の小さなタスクを管理するのに役立ちます。

期限日のドキュメント

別のプロジェクトへ課題を移動

GitLabでは課題を別のプロジェクトへ移動できます。元の課題のすべてのリンク、履歴、コメントが移動先の課題にコピーされ、移動先の課題から元の課題を参照できます。これによって、複数のプロジェクトで課題を追跡するのが容易になります。

別のプロジェクトへ課題を移動の詳細

課題から新しいブランチを作成

GitLabでは、課題から素早く新しいブランチを作成できます。ブランチには課題の番号とタイトルが自動的に含まれるので、課題とブランチの紐付けを簡単にできます。

ドキュメントで詳細を確認

アップストリームの管理者にブランチの編集を許可

フォークしたプロジェクトからマージリクエストを投稿した場合に、 アップストリームの管理者にソースブランチの編集を許可するオプションが選べます。 これにより、アップストリームの管理者はマージ前に軽微な変更を行うことができ、 コミュニティからの貢献を受け入れる負担を軽減できます。

アプリケーションのパフォーマンス監視

Prometheusを利用して、GitLabはデプロイしたアプリケーションのパフォーマンスメトリクスを収集し表示できます。開発者はマージが本番環境に与える影響を、GitLabから離れることなく、簡単に確認できます。

デプロイしたアプリケーションの監視の詳細

アプリケーションのパフォーマンスに関するアラート

GitLab を使うと、エンジニアはソースコードを書くのと同じワークフローで、サービスレベルインジケータアラートをシームレスに作成し、必要なイベントを通知できます。

SLI アラートの作成についてさらに学んでください。

GitLabサーバーの監視

オンプレミスで運用しているGitLabサーバーをPrometheusで監視できます。これにより、自身のGitLabサーバーの稼働状況を簡単に確認できます。

GitLabサーバーの監視の詳細

サイクル分析

GitLabは計画からモニタリングまでに要した時間を計測するためのダッシュボードを提供します。GitLabには、アイディアを本番環境にデプロイするまでに必要なツールのすべてが組み込まれているので、このようなデータの提供が可能です。

サイクル分析の詳細

クイックアクション

GitLabでは、スラッシュコマンドを使用してコメント欄から課題やマージリクエストのメタデータ(担当者やラベルなど)を更新することができます。

クイックアクションに関するドキュメント

タスクのドラッグ&ドロップ

GitHubのマークダウンでは、ドラッグ&ドロップでタスクの並べ替えができます。GitLabでは実現できていませんが、実装が検討されています。

この機能に関するGitLabの課題を表示

初回貢献者バッジ

プロジェクトに初めて貢献する貢献者をハイライト表示します。

SUPPORTファイルへのリンク

新しい課題の作成画面に、サポート情報を記載したSUPPORTファイルへのリンクが表示されます。

この機能に関するGitLabの課題を表示

統合されたコンテナレジストリ

GitLabコンテナレジストリは、Dockerイメージのセキュアでプライベートなレジストリです。GitLab CIから簡単にイメージのアップロードやダウンロードができます。コンテナレジストリはGitリポジトリ管理と完全に統合されています。

コンテナレジストリのドキュメント

フルバイナリリポジトリ

バイナリリポジトリは、パッケージ、アーティファクトおよびそれらに対応するメタデータ用のソフトウェアリポジトリです。これは、製品リリースや夜間ビルドなどの組織自体によって生成されたバイナリファイルを格納するために使用したり、技術的および法的理由のために異なる方法で処理する必要があるサードパーティのバイナリ用に使用することもできます。

Review Appsで変更をプレビュー

GitLab CI/CDを利用して、ブランチごとに新しい環境を作成することができ、開発プロセスを高速化できます。 自分のブランチをプレビューできるマージリクエスト用の動的な環境を起動できます。

Review Appsの詳細

毎月、新機能を追加

毎月22日に、新機能の追加や多くの改善が適用されたGitLabの新しいバージョンがリリースされます。

IPv6対応

GitLabをセルフホストする場合、IPv6への対応は利用しているプロバイダーに依存します。現在、GitLab.comは利用しているプロバイダーの制限によりIPv6には対応していません。

GitLabのインストール方法を表示

他のサービスから簡単に移行

以前に使用していたサービスから、すべてのリポジトリ、課題、マージリクエストのデータをGitLabへ簡単に移行できます。

プロジェクトをGitLabに移行する方法の詳細

機密の課題

機密の課題を使用すると、機密情報をセキュアに管理できます。GitLabでは、機密の課題をプロジェクトの報告者レベル以上のアクセス権を持つメンバーだけに公開できます。

機密の課題の詳細

包括的なAPI

GitLabは、インテグレーションの開発を可能にするために、多くの機能をAPIとして提供しています。

APIのドキュメントを表示

曖昧ファイル検索でファイルを探す

GitLabは少ないキー入力でリポジトリ内のファイルを探す方法を提供します。

ファイル検索のドキュメントを表示

squashしてマージ

複数のコミットを1つにまとめてからマージすることで、メインブランチの履歴をシンプルに保つことができます。

squashしてマージの詳細

リモートリポジトリにプッシュミラーリング

ローカルサーバーから別サーバーのリポジトリにミラーリングができます。

リポジトリのプッシュミラーリングの詳細

リモートリポジトリのプルミラーリング

リモートの Git サーバからローカルサーバにリポジトリをミラーリングすることで、ローカルのフォークやレプリカを簡単に最新の状態に保つことができます。

リポジトリのプルミラーリングの詳細

課題をCSVファイルにエクスポート

GitLabから課題をCSVファイルとしてエクスポートすることができます。エクスポートしたファイルはデフォルトの通知メールアドレスに添付されて送信されます。

課題をCSVファイルにエクスポートの詳細

詳細なユーザーの役割と柔軟な権限

5つのユーザーの役割と外部ユーザーの設定により、プロジェクトへのアクセスと権限を管理できます。ユーザーに設定した役割に従って、リポジトリへの読み取り・書き込みの権限を制御することができます。ソースコードへのアクセスが不要なユーザーには、課題管理システムへのアクセスのみを許可することができます。

ユーザーロールの詳細

マージリクエストの差分で、メソッド/関数にナビゲーション

マージリクエストの差分を表示しているときに、変更されたファイルのメソッド/関数に直接ナビゲーションできます。

この機能の実装に関するGitLabの課題を表示

インラインコメントと議論の解決

マージリクエストのインラインコメントを使用して、コードや文書を素早く効率的にレビューできます。コードの特定の行にコメントをして、改善案などを議論することができます。GitLabは、インラインコメントを議論として解釈します。すべての議論が解決されるまで、マージリクエストをマージできないように設定することもできます。

議論の解決の詳細

コード所有者

リポジトリ内でコード所有者やレビュアーを指定できる機能です。

この機能の実装に関するGitLabの課題

サブグループ: グループ内のグループ

グループ内にさらにグループを作成することで、規模の大きなチームやプロジェクトの管理が容易になります。

サブグループの詳細

デプロイボード

GitLab Enterprise Edition Premiumには、 Kubernetes上で動作しているそれぞれの環境の稼働状況をまとめて表示する、 デプロイボード機能があります。Kubernetesにアクセスすることなく、 最新デプロイのそれぞれのpodの稼働状況をGitLab内でシームレスに表示できます。

デプロイボードの詳細

制御

メンテンスのダウンタイムを制御できます。また、バックアップ方法や保管場所を制御できます。バックアップや保管場所を制御する方法の詳細

アップグレードのタイミングを選択可能

毎月、GitLabの新しいバージョンがリリースされ、都合の良いタイミングでアップグレードできます。

GitLabインスタンスのアップグレード方法の詳細

課題を自動クローズするパターンを設定可能

マージリクエストがマージされたタイミングで、複数の課題を自動クローズするためのキーワードを自身で定義できます。

課題の自動クローズの詳細

カスタムGitフック

リポジトリで発生した特定のアクションに対して、カスタムスクリプトを連鎖的に実行することができます。Gitフックによって、コミットが拒否されたり、エラーが発生すると、GitLabのUIにエラーメッセージが表示されます。GitLabは全種類のフックをサポートします。

GitLabでGitフックを使用する方法の詳細

レスポンシブデザイン

GitLabはレスポンシブデザインに対応しています。デスクトップ・タブレット・スマートフォンのそれぞれで、見やすく表示されるように最適化されています。

コミュニティベースでの開発

GitLabには公開されている課題管理システムがあります。GitLab自身の課題だけではなく、インフラやマーケティングに関する課題も公開されています。

GitLabのすべてのコントリビューターを表示

Git LFS 2.0対応

音楽・動画・画像ファイルのような巨大ファイルを管理するのに、Git LFSは役に立ちます。 Git LFS 2.0では、ファイルのロック機能が追加され、チーム作業でのバイナリファイルの取り扱いが改善されました。 このファイルのロック機能は、GitLabに組み込まれているファイルのロック機能に統合されています。

GitLabでのGit LFS対応の詳細

セキュリティダッシュボード

セキュリティダッシュボードには、それぞれのプロジェクトのデフォルトブランチの最新のセキュリティステータスが表示されます。

セキュリティダッシュボードの詳細

Gitのプッシュでプロジェクトを作成

新しいプロジェクトを作成したい場所にプッシュすると、自動的に新しいプライベートプロジェクトが作成されます。

プロジェクト作成の詳細

個人メールアドレスの非公開

個人メールアドレスを非公開にして、匿名メールアドレスでのコミットができます。

この機能に関するGitLabの課題を表示

Kubernetesクラスター監視

接続しているKubernetesクラスターの主要なメトリクスを監視できます。

クラスター監視の詳細

ChatOps

チャットから直接一般的なアクションを実行し、チャットに実行結果を出力することができます。

ChatOpsの詳細

デプロイトークン

あなたのデータにアクセスが必要な外部のインフラに対して、特定のリポジトリやコンテナイメージへの読み取り専用アクセスを許可することができます。 例えば、Kubernetes上にアプリケーションをデプロイするのに利用できます。

デプロイトークンの詳細

Kubernetes podログの表示

Kubernetesにデプロイしたアプリのpodログを素早く簡単に表示できます。

Kubernetes podログの表示の詳細

地理検知DNSのサポート

地理的に離れた場所にレプリケーションされたサーバーがあるとGitのpullを高速に実行できますが、地理検知DNSのサポートがないと、開発者は手動で近くにあるサーバーを指定する必要があります。地理検知DNSのサポートがあれば、ユーザーが意識することなく、最も近くにあるサーバーから高速にリポジトリのデータを取得できます。

GitLab Geoの詳細

標準機能で高度なグローバル検索を利用可能

標準機能でElasticSearchによる高度なグローバル検索を利用できます。

GitLabの検索機能の詳細

ナビゲーションのグループドロップダウン

簡易的なドロップダウンメニューで直接グループを検索することが可能です。これにより、作業中の画面を見ながら目的のグループを見つけることができます。

グループの詳細

CommonMarkに対応したマークダウン

GitLabのマークダウンは、最新標準である、CommonMarkに対応しています。新しく追加したコンテンツはCommonMarkで描画されます。

GitLab Flavored Markdownの詳細

プロジェクトの作成時にREADMEファイルを追加

新しいプロジェクトを作成する時に、リポジトリにサンプルREADMEファイルを一緒に作成することができます。プロジェクトの作成時にチェックを入れると、リポジトリのmasterブランチにサンプルREADMEファイルが追加され、すぐにリポジトリをクローンできます。

プロジェクト作成の詳細

「GitLabに貢献する」へのリンク

GitLab CoreとGitLab.comのユーザーは、ユーザープロフィールメニューから「GitLabに貢献する」へのリンクをすぐに見つけることができます。

GitLabへの貢献の詳細

二要素認証をバイパスするためのSAML保証レベル

GitLab側での二要素認証をバイパスするために、SAMLプロバイダの保証レベルを優先できます。

SAML OmniAuth Providerの詳細

サードパーティのオファーを管理

GitLab 11.1 では、admin エリアにサードパーティのオファーの表示を制御する機能が導入され、これらのオファーの表示をより詳細に制御できるようになりました.

サードパーティのオファーの詳細

マージリクエストウィジェットにある JUnit テストの概要を確認する

GitLab を使用すると、マージリクエストウィジェットから JUnit テスト結果を表示できるので、変更による品質への影響に関する見解が得られます。

マージリクエストウィジェットにある JUnit テストのサマリーの詳細

ユーザーステータスメッセージ

プロフィールページ、コメント、作成者の行に表示される絵文字やテキストメッセージを使って、個人的なステータスメッセージを定義して表示します。

ステータスメッセージの詳細

プライベートプロファイルページ

プライバシーが懸念されるような特定の状況下では、ユーザーが自分の活動、貢献、個人的なプロジェクトを表示したくない場合があります。アクティビティ関連の情報は、プロファイル設定で無効にできます。

プライベートプロファイルの詳細

ダウンロードシングルリポジトリーファイル

GitLab 上のプロジェクトのリポジトリを閲覧する場合、単一のファイルに直接アクセスすることが適切なユースケースです。ファイルビューアの 'ダウンロード' ボタンを使用すると、GitLab UI から個々のファイルをダウンロードできます。

プロジェクトリポジトリの詳細

プロジェクト概要のリポジトリ言語

プロジェクト概要にあるプログラミング言語バーには、GitLab リポジトリを構成するすべての関連言語 (相対的な数を含む) が表示されます。

プロジェクトの詳細

インタラクティブな Web ターミナル

インタラクティブなWebターミナルを使用すると、実行中または完了した Kubernetes またはシェルのランナージョブに接続し、コマンドを手動で実行して、システムで何が起こっているかをより理解できます。

インタラクティブ Web ターミナルの詳細

カスタムファイルテンプレート

一貫性を保つために、カスタムの `LICENSE`、`.gitignore`、`Dockerfile`、`gitlab-ci` テンプレートを定義します。

カスタムファイルテンプレートの詳細

コード所有者

ファイルにコード所有者を割り当てて、 `CODEOWNERS` ファイルを使用してプロジェクトのコードを担当するチームメンバーを指定します。

コード所有者の詳細

保護された環境

特定の環境へのデプロイを許可するユーザー、グループ、アカウントを指定して、機密性の高い環境の保護と安全性を強化します。

保護された環境の詳細

Maven リポジトリ

GitLab の Maven リポジトリにより、組織全体での Java ライブラリの公開と共有が簡単になり、依存関係が正しく管理されるようになります。認証と承認を含め、GitLab と完全に統合されています。

Maven リポジトリのドキュメント