GitLab VPS ホスティング、コードと CI/CD を自分のサーバーで
- 公式の gitlab/gitlab-ce Docker イメージでインストール
- メモリ 16 GB 以上のプランがおすすめ
- root 権限とパブリック IPv4・IPv6 アドレス
HELPER VPS GitLab VPS は、Git リポジトリと CI/CD を1か所で扱う GitLab Community Edition を実行する Linux クラウドサーバーで、月 $25.00 から請求書で支払います。サーバー作成時に Docker アプリイメージを選択し、SSH で接続して公式の gitlab/gitlab-ce イメージを実行すると、チームのコード、Issue、パイプラインを自分のサーバーで管理できます。
GitLab とは何ですか?
GitLab は、Git リポジトリの管理、コードレビュー、Issue 管理、CI/CD パイプライン、コンテナレジストリを1つにまとめた開発プラットフォームです。GitLab Community Edition(CE)はオープンソースとして公開されている無料版で、チームが自分のサーバーにインストールしてコードと開発の記録を自分で保管できます。マージリクエスト、Wiki、マイルストーンのようなコラボレーション機能が標準で含まれています。
公式の gitlab/gitlab-ce Docker イメージには、GitLab 本体と一緒に PostgreSQL、Redis、Nginx、Puma、Sidekiq がすべて含まれているので、コンテナ1つでサービス全体が動きます。設定、ログ、データはボリュームとしてサーバーのディスクに別に保存されるので、コンテナを新しいバージョンに入れ替えても、リポジトリとユーザー情報はそのまま残ります。
GitLab VPS で何ができますか?
GitLab をセルフホスティングするサーバー1台で、開発の流れ全体を自分のサーバーに集められます。
社内の Git リポジトリ
非公開のプロジェクトを好きなだけ作り、グループとロールでチームメンバーごとに読み書きの権限を分けられます。
CI/CD パイプライン
.gitlab-ci.yml ファイル1つで、テスト、ビルド、デプロイを自動で実行し、結果をマージリクエストですぐに確認できます。
コンテナレジストリ
ビルドした Docker イメージを GitLab のレジストリにアップしておき、デプロイ先のサーバーからすぐに取得して使えます。
Issue とプロジェクトの管理
Issue ボード、ラベル、マイルストーン、Wiki で、スケジュールとドキュメントをコードのそばで一緒に管理できます。
GitLab サーバーはどうやって購入しますか?
最初の支払いから最初のログインまで、3つのステップです。
ステップ 1。 16 GB 以上のプランを選ぶ
支払い方法を選択し、チームに近い都市を選び、メモリ 16 GB 以上のプランを選択します。
ステップ 2。 Docker アプリのイメージで作成
イメージ一覧から Docker を選ぶと、Docker Engine と Docker Compose が用意された Ubuntu 24.04 のサーバーが作成されます。
ステップ 3。 SSH で接続してコマンドを実行
root で SSH 接続して下のコマンドを実行し、数分後にブラウザでサーバーのアドレスを開いて root アカウントでログインします。
GitLab CE はどうやってインストールしますか?
Docker アプリのイメージで作成したサーバーに SSH で接続し、下のコマンドを実行してください。gitlab.example.com は自分のドメインかサーバーの IP に置き換え、サーバーの SSH が22番ポートを使うので、GitLab の Git SSH は2222番ポートで開けます。初回の起動には数分かかり、最後の行のコマンドで root の初期パスワードを確認できます(このファイルは24時間後に削除されます)。
export GITLAB_HOME=/srv/gitlab
sudo mkdir -p $GITLAB_HOME
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 2222:22 \
--name gitlab \
--restart always \
--volume $GITLAB_HOME/config:/etc/gitlab \
--volume $GITLAB_HOME/logs:/var/log/gitlab \
--volume $GITLAB_HOME/data:/var/opt/gitlab \
--shm-size 256m \
gitlab/gitlab-ce:latest
sudo docker logs -f gitlab
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_passwordGitLab を VPS に自分でインストールすると何がよいですか?
GitLab VPS を自分で運用すれば、コードとパイプラインを自分の基準で扱えます。
コードは自分のサーバーにあります。 リポジトリ、Issue、CI の記録は自分が選んだ都市のサーバーのディスクに保存され、アクセス権限も自分で決められます。
ユーザー数に応じた料金はありません。 GitLab CE は無料版なので、サーバー料金1つでチームメンバーのアカウントを必要な数だけ作れます。
CI の時間を思う存分使えます。 自分のサーバーに GitLab Runner をつなげば、パイプラインの実行時間をサーバーの性能の範囲内で自由に使えます。
メモリの大きいプランを選べます。 メモリ重視のプランは 16~128 GB のメモリを備え、リポジトリやユーザーの多い GitLab もしっかり支えます。
ディスクを簡単に増やせます。 作成時に追加ディスクを 50~1000 GB で加え、リポジトリやレジストリのイメージを長く保管できます。
自動バックアップで守れます。 自動バックアップオプションと gitlab-backup コマンドを併用すれば、サーバーと GitLab のデータを二重に保管できます。
GitLab と一緒に使う技術
公式の GitLab CE イメージは、以下の技術を内包し、GitLab VPS 上で一緒に動かします。
- Docker
- PostgreSQL
- Redis
- NGINX
- Ubuntu
ユーザーの近くにサーバーを置きましょう
31 か国 40 都市のどこでも、同じ料金で GitLab サーバーを作成できます。
GitLab VPS には何 GB のメモリが必要ですか?
GitLab はウェブサーバー、バックグラウンドジョブ、データベース、キャッシュを一緒に実行するため、少なくとも 4 GB のメモリが必要で、実際のチーム使用には 16 GB 以上をおすすめします。12 GB では、数人が同時に使用するとインターフェースが遅くなる可能性があるため、HELPER VPS では 4 vCPU、16 GB のプランから始めることをおすすめします。NVMe ディスクを使用する高性能プランは、リポジトリのクローンと検索を高速化します。
同じサーバーで GitLab Runner による CI の処理まで動かすなら、ビルドがメモリを一緒に使うので 16 GB のプランが適しています。ユーザーやプロジェクトの多いチームはメモリ重視の m32 のようなメモリの大きいプランを選び、Runner を別のサーバーに分ければ、GitLab の画面は常に軽快に動きます。1つのアカウントでサーバーを10台まで作成できるので、このように分けるのも簡単です。
GitLab のセルフホスティングを始めたら、何を設定すればよいですか?
最初のログイン後は root のパスワードを変更し、管理エリアで新規登録を承認制にするか無効にしておけば、チームメンバーだけが入れるようになります。ドメインを使うなら、/srv/gitlab/config/gitlab.rb の external_url を https のアドレスにし、letsencrypt の設定を有効にしてから sudo docker exec -it gitlab gitlab-ctl reconfigure を実行すれば、HTTPS 証明書が自動で設定されます。
通知メールは、gitlab.rb の SMTP 設定に587番ポートを使うメール配信サービスを設定して送信します。Git SSH のアドレスを2222番ポートで表示させるには、gitlab_rails['gitlab_shell_ssh_port'] の値を2222に設定してください。定期的に sudo docker exec -t gitlab gitlab-backup create でバックアップを作成し、新しいバージョンに上げるときは公式のアップグレードパスを確認してからイメージを入れ替えると安全です。
GitLab ホスティングのよくある質問
GitLab VPS の選び方とインストールについて、よく寄せられる質問です。
GitLab VPS はワンクリックでインストールされますか?
Docker アプリのイメージでサーバーを作成したあと、公式の gitlab/gitlab-ce イメージを docker run コマンド1つで実行します。上のコマンドを貼り付けて数分待てば、ブラウザで GitLab のログイン画面が開きます。
GitLab には最低何 GB のメモリが必要ですか?
GitLab には少なくとも 4 GB のメモリが必要で、快適なチーム使用には 16 GB 以上をおすすめします。そのため、4 vCPU、16 GB のプラン(g16、n16)から始めることをおすすめし、CI Runner も実行する場合は 32 GB のプランが適しています。
Ubuntu のイメージに Omnibus パッケージでインストールしてもよいですか?
はい、Ubuntu で作成したサーバーに GitLab の公式パッケージリポジトリを追加してインストールする方法もあります。Docker の方式は設定、ログ、データがボリュームで分かれていて更新や移行が楽なので、このページでは Docker の方式をご案内しています。
root の初期パスワードはどこで確認できますか?
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password コマンドで確認します。このファイルは初回設定から24時間後に削除されるので、ログインしたらすぐに新しいパスワードに変更してください。
Git SSH はどのポートを使いますか?
サーバー自体の SSH が22番ポートを使うので、上のコマンドでは GitLab の Git SSH を2222番ポートで開けています。gitlab.rb で gitlab_shell_ssh_port を2222に設定すれば、リポジトリ画面の SSH アドレスも正しく表示されます。
HTTPS 証明書はどう設定しますか?
ドメインをサーバーの IP に向けたあと、gitlab.rb の external_url を https のアドレスに変えて letsencrypt を有効にし、gitlab-ctl reconfigure を実行すれば、証明書が自動で発行、更新されます。
GitLab Runner も同じサーバーに置けますか?
はい、gitlab/gitlab-runner のイメージを同じサーバーにコンテナとして導入して登録してください。ビルドはメモリと CPU を一緒に使うので、16 GB のプランを選ぶか、Runner を小さなサーバー1台に分けて置くことをおすすめします。
GitLab からメール通知を送れますか?
はい、gitlab.rb の SMTP 設定に587番ポートを使うメール配信サービスを設定すれば、マージリクエストや Issue の通知が送られます。HELPER VPS のサーバーは外向きの25番ポートが閉じているので、この方法で送信します。
GitLab の更新はどうすればよいですか?
gitlab-backup でバックアップを作成したあと、新しいイメージを取得し、同じボリュームでコンテナを作り直してください。大きなバージョンを飛ばす場合は、GitLab 公式のアップグレードパスに沿って中間のバージョンを経由して上げてください。
リポジトリが増えたらディスクを増やせますか?
サーバー作成時に、追加ディスクを 50~1000 GB の範囲で加えられます。GITLAB_HOME を追加ディスクのパスに設定しておけば、リポジトリ、レジストリ、バックアップを余裕のある領域に保管できます。
GitLab サーバーの購入はどう支払いますか?
支払い方法を選択し、サーバーを作成してすぐに使用を開始します。期間終了前に更新請求書を支払うと、開発が途切れることはありません。
GitLab は GitLab Inc. とコミュニティが開発するオープンソースプロジェクトであり、GitLab の名称とロゴの権利はその所有者に帰属します。GitLab CE のインストール、更新、設定、使い方については、お客様ご自身で対応してください。GitLab CE は追加費用なしで使え、サーバー料金は選んだプランの料金のままです。
GitLab サーバーガイド
サーバーを受け取ったら、最初にやっておきたいことです。
