【ぎっとらぶ】

GitLab とは?

最終更新:
💡 コード管理と開発の流れをつなぐ

Gitによるコード管理、変更のレビュー、CI/CDなどをまとめて扱う開発プラットフォーム。Gitとの違いと実行環境を解説します。

📌 このページのポイント
GitLab:変更のレビューと自動処理をつなぐGitリポジトリの変更マージリクエスト差分・コメントを確認して提案CI/CDのジョブRunnerが実行条件と仕事を設定レビューと実行結果を見て取り込みを判断デプロイには別途、設定と実行先が必要
変更提案と設定したCI/CDの結果を確認する例です。CI/CDが動く条件は設定によるため、マージリクエスト作成で取り込みや本番公開が自動完了する意味ではありません。
ひよこ ひよこ
GitLabは、Gitと同じもの?
ペンギン先生 ペンギン先生
違うよ。Gitは変更の履歴を管理する仕組み。GitLabはGitのリポジトリを管理し、変更のレビューやIssue、CI/CDなどをまとめて扱う開発プラットフォームなんだ。
ひよこ ひよこ
変更をレビューしてもらうには?
ペンギン先生 ペンギン先生
マージリクエストで取り込みたい変更を提案するよ。差分やコメント、コミット、関連するパイプラインの情報を見ながら、チームで確認できるんだ。
ひよこ ひよこ
テストも自動になる?
ペンギン先生 ペンギン先生
CI/CDのパイプラインへ実行する仕事を設定するよ。通常は.gitlab-ci.ymlにジョブや実行条件を書く。実際の処理を行うのがRunnerで、コードを置くだけで必要なテストが全部用意されるわけではないんだ。
ひよこ ひよこ
自分の会社のサーバーで使える?
ペンギン先生 ペンギン先生
Self-Managedを選べるよ。その場合は導入だけでなく、更新、バックアップ、障害対応も自分たちで行う。サービスとして使うGitLab.comなど、運用の分担が異なる選択肢もあるんだ。
ひよこ ひよこ
使えば、公開や安全性の確認まで全部終わる?
ペンギン先生 ペンギン先生
どの処理を、どの環境で動かすかを決める必要があるよ。デプロイ先や権限の準備、利用する機能の対応プランも確認する。レビューや検査の結果を判断し、開発の流れへ組み込むための基盤と考えよう。
もっと詳しく知りたい人へ

Auto DevOpsを有効にすればデプロイまで終わる?

対応するDockerfileやbuildpackなどの条件があり、デプロイには実行先の準備も必要です。既存の.gitlab-ci.ymlがある場合はそちらが優先されます。公式の要件を確認してから使います。

マージリクエストを作ると変更はすぐ取り込まれる?

作成は変更の提案です。取り込みの可否はレビュー、承認ルール、パイプラインの結果など、プロジェクトの設定に従って判断します。提案の作成と取り込みの完了は分けて考えます。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「GitLab」って出てきたら「コード管理やCI/CDをまとめて扱う開発プラットフォーム」と思えばだいたいOK!
📖 おまけ:英語の意味
「GitLab」 = Gitを使う開発プラットフォームの名称
💬 Gitというバージョン管理の仕組みと、それを使って共同開発や自動処理を支えるGitLabは区別します。

参考資料

← 用語集にもどる