🦊

GitLabをローカル環境に構築する!

に公開

実現したいこと

Ubuntuサーバ(仮想マシン)上にGitLabをインストールしてローカル環境でソースコードを管理すること

環境

項目 バージョン
物理マシン OS macOS Sequoia バージョン15.2
ハイパーバイザ VMware Fusion プロフェッショナル バージョン 13.6.3
仮想マシン OS Ubuntu 24.04.2 LTS
仮想マシン CPU 4vCPU
仮想マシン Memory 4GB
GitLab 17.9.1-ee

仮想マシンにGitLabをインストール

#関連パッケージのインストール
sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
sudo apt-get install -y postfix

#GitLabパッケージリポジトリを追加、パッケージをインストール
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
sudo EXTERNAL_URL="http://<仮想マシンのIPアドレス>" apt-get install gitlab-ee

今回はGitLabへのアクセスはホスト名ではなくIPアドレスを用いるため、EXTERNAL_URLには仮想マシンのIPアドレスを設定します

GitLabにアクセス

  • GitLabのrootユーザの初期バスワードを確認します
sudo cat /etc/gitlab/initial_root_password
  • 物理マシンのブラウザからhttp://<仮想マシンのIPアドレス>にアクセスしてログインします
    • ユーザ名:root  パスワード:<初期パスワード>

GitLabでユーザ、リポジトリを作成

  • ログイン直後の画面からAdd peopleを選択して新規ユーザーを作成します
    • Name:user1  Username:user1  Email:user1@example.com
  • user1のページに遷移するので右上のEditボタンを押してパスワードを設定します
  • rootユーザからSign outしてからuser1で再度ログインします
  • Create a project > Create blank projectを選択して新規プロジェクトを作成します
    • Project Name:test-project-001

git push、pullの動作確認

  • 物理マシンでSSHキーペアを作成します
sudo ssh-keygen -t ed25519
  • 先ほど作成したSSHキーの公開鍵の内容をコピーしてGitLabのSSH Keysページに登録します
  • 物理マシンからGitLabプロジェクトのpull、pushを実行します
#gitコマンドの初期設定
git config --global [user.name](http://user.name/) "user1"
git config --global user.email "[user1@example.com](mailto:user1@example.com)"

#GitLabからプロジェクトをpull
git clone ssh://git@<仮想マシンのIPアドレス>/user1/test-project-001.git

#新規ファイルを作成
echo "Hello" > test.txt 
#GitLabプロジェクトにpush
git add .
git commit -m "[add] test.txt"
git push origin main

ブラウザ上でGitLabのプロジェクトにtest.txtが追加されていることを確認して動作確認は完了です

まとめ

ローカル環境にGitLabを構築してpull、pushの動作確認まで出来ました!

Discussion