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の稼働状況

包括的なインポート機能

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

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

強力な課題管理

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

課題管理の詳細

課題ボード

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

GitLab課題ボードの詳細

関連した課題

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

関連した課題の詳細

作業時間の記録

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

作業時間の記録の詳細

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

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

GitLabのWikiの詳細

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

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

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

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

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

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

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

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

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

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

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

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

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

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

GitLabサーバーの監視

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

GitLabサーバーの監視の詳細

サイクル分析

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

サイクル分析の詳細

クイックアクション

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

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

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

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

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

Review Appsで変更をプレビュー

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

Review Appsの詳細

IPv6対応

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

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

機密の課題

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

機密の課題の詳細

包括的なAPI

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

APIのドキュメントを表示

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

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

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

高度なグローバル検索

Elasticsearchを活用し、GitLabインスタンス全体で、より早く正確なコード検索が可能です。

高度なグローバル検索の詳細

高度なシンタックス検索

高度なクエリを利用すれば、より正確な検索結果を得られます。

高度なシンタックス検索の詳細

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

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

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

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

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

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

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

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

ユーザーロールの詳細

スニペット

引用可能なコード片を、コードスニペットとして保存して共有できます。 また、1行のコードでブログやウェブサイトに埋め込むこともできます。

スニペットの詳細

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

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

議論の解決の詳細

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

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

サブグループの詳細

LFS用オブジェクトストレージ

LFSファイルはオブジェクトストレージ (Amazon S3) で保管できます。

成果物をオブジェクトストレージに保管する方法の詳細

GitLab Geoでグローバルな分散型チームをサポート

開発チームが地理的に複数のロケーションに散らばっていて、GitLabインスタンスが1つの場所にある場合は、 そんな分散型チームのために作られたのがGitLab Geoです。 GitLab Geoは、GitLabインスタンスを読み取り専用でミラーリングし、 大規模なリポジトリの複製と取り出しにかかる時間を削減することで チームでの共同作業を改善します。

GitLab Geoの詳細

デプロイボード

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のプッシュでプロジェクトを作成

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

プロジェクト作成の詳細

グループ用のSAML SSO

GitLab EEではグループをSAML Identity Providerに接続して、認証管理ができます。

LDAPのグループ同期の詳細

Kubernetes podログの表示

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

Kubernetes podログの表示の詳細

Mercurialリポジトリをホスト

Mercurialリポジトリをホストできます。

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

二要素認証(2FA)を強制

二要素認証を有効にすると、パスワードでの認証に加えて二番目の認証が必要となるので、あなたのアカウントを安全にできます。たとえあなたのパスワードが侵害されても、二番目の認証があなたのアカウントを守ってくれます。二段階認証を強制することで、すべてのユーザーに二段階認証を使用させることができます。

GitLabで2FAを強制の詳細

IPホワイトリスト

IPホワイトリストを使用すると、リポジトリサーバへのアクセスを許可する、信頼できるIPアドレスを定義できます。これにより、たとえチームメンバーのメールアドレスとパスワードが第三者に漏洩しても、アカウントへの不正アクセスを防御することができます。

GitLabのIPホワイトリストの詳細

Maven リポジトリ

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

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