お問い合わせはこちら

GitLabのインストール方法を初心者にわかりやすく解説

公開

GitLabは開発チームの作業効率を大幅に向上させるDevOpsプラットフォームです。

ソースコード管理からCI/CD、セキュリティテストまで一貫した環境を提供するため、開発プロセス全体を効率化したいエンジニアやチームにとって理想的なツールです。

本記事では、特にUbuntu Serverへのインストール方法を詳しく解説します。

GitLabを導入することで、コード管理の煩雑さから解放され、チーム全体の生産性向上を実現できるでしょう。

インストールから基本的な使い方、トラブルシューティングまで網羅しているので、GitLabを初めて導入する方も安心して始められます。

GitLabのインストール作業が自動で完了するVPS

KAGOYA CLOUD VPSでは、アプリケーションセットアップとしてGitLabCoreのテンプレートが利用できるため、面倒なインストール作業を省略することができます。
このVPS自体は日額20円から利用でき、長期利用の方には割引適用がある年額プランも選択できるため、お試しとしても本格導入としても最適な環境となっています。

GitLab Coreの利用に最適なVPS | KAGOYA

KAGOYA CLOUD VPSはGitLab Core環境をテンプレート利用で簡単に構築・運用開始ができるサービスです。

GitLabとは?

GitLabは、ソフトウェア開発のライフサイクル全体をカバーするDevOpsプラットフォームです。単なるGitリポジトリ管理ツールではなく、継続的インテグレーション(CI)、継続的デリバリー(CD)、セキュリティテスト、モニタリングまで一元管理できる統合環境を提供しています。

GitHubと比較されることが多いですが、GitLabの最大の特徴はセルフホスティングが可能な点と、開発プロセス全体をカバーする豊富な機能セットにあります。無料で使えるCommunity Editionと、より高度な機能を備えたEnterprise Editionがあり、組織のニーズに合わせて選択できます。

特にチーム開発において、コードレビュー、イシュートラッキング、ウィキ機能などが一つのプラットフォームで完結するため、開発効率が大幅に向上します。GitLabについてさらに詳しく知りたい方は、以下の関連記事をご覧ください。

【入門】GitLabとは?できることや使い方をわかりやすく解説

【入門】GitLabとは?できることや使い方をわかりやすく解説

GitLabはソースコードなどを共有・管理するシステムとして、先行して登場したGitHubと共に多くのユーザーに使われています。けれどGithubに比べると、概要やどのようなことができるか知っている方は少ないのではないでしょうか。ソースコードなどを社内などで共有する場合、GitHubよりGitLabのほうが自社に適しているケースも少なくありません。 この記事ではGitLabの概要やできること、Gi…

GitLabのインストール方法(Ubuntu Serverの場合)

GitHub Flowの解説

Ubuntu ServerへのGitLabのインストールは比較的シンプルなプロセスです。公式リポジトリを追加し、必要なパッケージをインストールするという基本的な手順で完了します。

Ubuntu ServerはGitLabの推奨環境の一つであり、安定した動作が期待できます。インストール方法はCommunity EditionとEnterprise Editionで若干異なりますが、どちらもコマンドラインから実行可能です。

以下のセクションでは、それぞれのエディションについて詳細な手順を説明していきます。

GitLab CE (Community Edition) のインストール

GitLab CEをUbuntu Serverにインストールする手順は比較的シンプルです。

まず、サーバーのスペック要件を確認しましょう。最低でも以下のスペックが推奨されています。

サーバーの推奨スペック
  • 4GBのRAM
  • 2コアのCPU
  • 20GB以上のストレージ空き容量

確認ができたら、インストールに移ります。

まず、以下のコマンドでパッケージリストを更新します。

sudo apt update
sudo apt upgrade -y

次に、GitLabに必要なパッケージをインストールします。

sudo apt install -y curl openssh-server ca-certificates tzdata perl

次に、以下のコマンドでGitLabのリポジトリを追加します。

curl -fsSL https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

その後、以下のコマンドを実行してインストールします。

sudo EXTERNAL_URL="http://gitlab.[自分のドメイン]" apt install gitlab-ce

インストールが完了すると、GitLabが自動的に初期設定を行います。

この過程には数分かかることがありますので、少々お待ちください。設定が完了したら、ブラウザから設定したURLにアクセスして、管理者アカウントのパスワードを設定します。

これでGitLab CEの基本的なインストールは完了です。

より詳細な設定やカスタマイズについては、以下の記事を参照することをお勧めします。

GitLab CEとは?メリット・機能・導入手順を解説!

GitLab CEとは?メリット・機能・導入手順を解説!

GitLabは、開発チームの生産性向上に欠かせないオールインワンのDevOpsプラットフォームです。Gitリポジトリ管理にとどまらず、CI/CD、セキュリティ、モニタリングなど、開発に必要な機能をすべて備えています。 その中でも無料で利用できる「GitLab CE(Community Edition)」は特に注目されています。これに対し「GitLab CEとはどんなツールなのか?」「どんなメリット…

GitLab EE (Enterprise Edition) のインストール

GitLab Enterprise Edition (EE) は、大規模な企業向けに設計された高度な機能を備えたバージョンです。インストールを開始する前に、まずGitLabの公式サイトからEEライセンスを取得する必要があります。料金は組織の規模やニーズに応じて変動しますので、営業担当者に問い合わせることをお勧めします。

ライセンス取得後、Ubuntu Serverへのインストールは以下のコマンドで行います。

まず、以下のコマンドを実行してリポジトリを追加します。

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash

次に、以下を実行し、インストールします。

sudo apt install gitlab-ee

インストール完了後、以下のコマンドでGitLabを設定します。

sudo gitlab-ctl reconfigure

最後に、管理画面からライセンスキーを入力して認証プロセスを完了させます。EE版では、高度なCI/CD機能、セキュリティスキャン、エンタープライズ向け認証機能などが利用可能になります。

その他のOSでのインストール方法

GitLabはUbuntu Server以外にも様々なOSにインストールすることができます。

CentOSやRed Hat Enterprise Linux(RHEL)では、公式リポジトリを追加してyumコマンドでインストールできます。Debianの場合は、aptリポジトリを追加して簡単にセットアップが可能です。

macOSでは公式なインストール手段が提供されていませんが、以下のDockerを使ったインストールができます。

各OSに最適化されたインストール手順は公式ドキュメントに詳しく記載されていますので、ご利用の環境に合わせた方法を選択してください。

Dockerを使ったインストール

Dockerを使用したGitLabのインストールは、環境に依存しない一貫した展開が可能なため非常に人気があります。

まず、以下のコマンドでDockerがインストールされていることを確認してください。

docker -v

インストールが確認できたら、以下のコマンドでGitLabのイメージを取得します。

docker pull gitlab/gitlab-ce

次に以下のコマンドを実行します。(gitlab.example.comは自分のドメインに置き換えてください)

docker run --detach --hostname gitlab.example.com --publish 443:443 --publish 80:80 --publish 22:22 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce

このコマンドでは、ポートマッピングとデータの永続化を設定しています。コンテナ化されたGitLabは、スケーリングが容易で、バックアップと復元が簡単、さらにアップグレードも従来の方法より安全に行えるという大きな利点があります。また、開発環境と本番環境の一貫性を保ちやすく、リソース管理も効率的です。

Windows10へのインストール

Windows10へのGitLabをインストールする場合、直接的なインストーラーは提供されていないため、Docker Desktop for Windowsを利用するのが最も一般的な方法です。

まず、Hyper-VかWSL2が有効化されていることを確認し、Docker Desktopをインストールします。インストール後、PowerShellやコマンドプロンプトを開き「Dockerを使ったインストール」と同じ手順を実行します。

この方法ではWindows上で仮想化されたLinux環境でGitLabが動作するため、本番環境よりもパフォーマンスが低下する可能性があることに注意してください。また、最低8GBのRAMと4コアのCPUを推奨します。

オフラインインストール

オフラインでのGitLabインストールは、インターネット接続のある別サーバーで必要なパッケージとその依存関係をダウンロードするところから始まります。これらのファイルはUSBドライブなどを使ってオフラインサーバーに転送します。

インストール時は、まず依存パッケージをdpkg -iコマンドでインストールし、次にEXTERNAL_URL="http://[自分のドメイン]"を指定してGitLabパッケージをインストールします。

IPアドレス直接指定より安定性が高いため、ドメイン名の設定が推奨されます。HTTPSは後から手動で設定するのがベストプラクティスです。この方法でUbuntu 20.04上にGitLab Enterprise Editionを完全オフライン環境で構築できます。

GitLabの基本的な使い方

GitLabの基本的な使い方はシンプルで直感的です。

  1. アカウントの登録
    GitLabを利用するための最初のステップです。公式サイトにアクセスし、メールアドレスとパスワードを設定して無料アカウントを作成できます。企業のGitLabを使用する場合は、管理者から招待や登録方法の案内があります。
  2. リポジトリの作成
    アカウント登録後、自分のプロジェクトを保存するためのリポジトリ(保管庫)を作成します。「New Project」から新しいリポジトリを作成し、名前や説明、公開設定などを行います。既存のプロジェクトをインポートすることも可能です。
  3. ブランチの作成
    メインのコード(masterブランチ)とは別に、新機能の開発やバグ修正のための独立した作業場所(ブランチ)を作成できます。これにより、メインコードに影響を与えずに安全に開発を進められます。作業完了後、変更をmasterブランチにマージします。

より詳しい使い方については、別の記事にて「GitLabの基本的な使い方」をご覧ください。

GitLabインストール時のトラブルシューティング

GitLabのインストール中にはさまざまな問題が発生する可能性があります。特に初めてインストールする場合は、予期せぬエラーに遭遇することも少なくありません。

よくある問題としては、ポートの競合、メモリ不足、ストレージ容量の不足、ファイアウォール設定の問題などが挙げられます。これらの問題は適切な対処法を知っていれば、比較的簡単に解決できることがほとんどです。

以下のセクションでは、GitLabインストール時によく発生する具体的なトラブルとその解決方法について詳しく解説していきます。

ポート競合の解決

GitLabインストール時によくあるトラブルとして、ポート競合の問題があります。

GitLabはデフォルトで80ポート(HTTP)や443ポート(HTTPS)を使用するため、Apache、Nginxなど他のWebサーバーが同じポートを使用していると起動できません。

まず以下のコマンドで現在これらのポートを使用しているプロセスを確認しましょう。

sudo netstat -tulpn | grep -E ":80|:443"

ポート競合が見つかったら、GitLabの設定ファイル「/etc/gitlab/gitlab.rb」を編集します。「external_url」の値を変更すれば別のポートを指定できます。例えば「external_url ‘http://[自分のドメイン]:8080’」とすれば8080ポートで動作します。

設定変更後は以下のコマンドを実行してGitLabを再設定・再起動してください。これでポート競合の問題は解決するはずです。

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

メモリ不足の対応

GitLabはメモリを多く消費するアプリケーションであり、特に大規模なリポジトリや多数のユーザーがいる環境では4GB以上のRAMが推奨されています。

メモリ不足に直面した場合、まずスワップファイルの設定が効果的です。以下のコマンドでスワップファイルを作成し、権限設定後に有効化することでメモリ不足を緩和できます。

スワップファイルの作成
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
パーミッションを付与
sudo chmod 600 /swapfile
スワップエリア作成
sudo mkswap /swapfile
スワップ有効化
sudo swapon /swapfile
fstabに設定を追記
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

また、GitLabの設定ファイル(/etc/gitlab/gitlab.rb)でワーカープロセス数を減らすことも有効です。「puma[‘worker_processes’] = 2」のように値を下げることで、メモリ使用量を削減できます。

さらに、不要なサービスを無効化する方法もあります。例えば、Prometheus monitoringが不要であれば、「prometheus_monitoring[‘enable’] = false」と設定することでメモリ消費を抑えられます。

設定変更後は「sudo gitlab-ctl reconfigure」を実行して反映させてください。

ストレージ容量不足の対応

GitLabを長期間運用していると、リポジトリデータやCIパイプラインの成果物によってストレージ容量が不足する問題が発生します。まず「df -h」コマンドでディスク使用状況を確認しましょう。

容量不足が確認できたら、以下のコマンドで内蔵コンテナレジストリの不要イメージを削除できます。

gitlab-ctl registry-garbage-collect

また、もしDockerを使っているなら、以下のようなコマンドで不要なイメージや停止中のコンテナを削除するのも効果的です。

docker image prune
docker container prune
docker volume prune

それでもストレージが足りない場合は、物理的なディスク増設やLVMによる容量拡張も検討しましょう。クラウド環境ではボリュームサイズの拡張も検討できます。

大規模環境では、オブジェクトストレージ(S3互換サービスなど)を外部ストレージとして連携させることで、効率的なストレージ管理が可能になります。定期的なバックアップと併せて、ストレージ使用量の監視体制を整えておくことをお勧めします。

ファイアウォール設定

GitLabサーバーを適切に動作させるには、ファイアウォール設定が非常に重要です。基本的に、GitLabはHTTP(80)やHTTPS(443)のポートを使用するため、これらのポートを開放する必要があります。

Ubuntuでは「ufw」コマンドを使用します。

sudo ufw allow http
sudo ufw allow https

SSHアクセス(22)も必要な場合は以下のコマンドを実行しましょう。

sudo ufw allow ssh

クラウド環境ではAWSのセキュリティグループやGCPのファイアウォールルールで同様の設定が必要です。適切なファイアウォール設定はセキュリティと利便性のバランスを取ることが大切です。

まとめ

GitLabのインストールから基本的な使い方、トラブルシューティングまで幅広く解説しました。

GitLabはGitリポジトリ管理だけでなく、CI/CDやプロジェクト管理機能も備えた強力なツールです。Ubuntu ServerだけでなくDockerやWindows10など様々な環境へのインストール方法があり、自分の環境に合わせて選択できます。

インストール時のポート競合やメモリ不足などの問題も適切な対処法を実践すれば解決できます。

GitLabを導入することで、チーム開発の効率と品質を大きく向上させることができるでしょう。

GitLab Coreを手軽に低コストで利用できる!

KAGOYA CLOUD VPSでは、アプリケーションセットアップとしてGitLabCoreのテンプレートが利用できます。
このVPS自体は日額20円から利用でき、長期利用の方には割引適用がある年額プランも選択できるため、お試しとしても本格導入としても最適な環境となっています。

GitLab Coreの利用に最適なVPS | KAGOYA

KAGOYA CLOUD VPSはGitLab Core環境をテンプレート利用で簡単に構築・運用開始ができるサービスです。