🚀はじめに
個人利用の際は GitHub を使用していれば、基本的に困ることはないかと思います。しかし、研究室や企業で開発している際、機密性の高い情報は、個人リポジトリにあげにくいですよね。そこで、オンプレサーバーで GitLab (GitHubと非常に似たウェブアプリケーション) を構築する方法を紹介します。
🧑🏻💻Git環境の用意
git 環境が整っていることを前提としています。整っていない場合は、インストールしてください。ユーザー名、メールアドレスも設定しておいたほうがいと思います。
Windows: https://www.git-scm.com/download/win
Ubuntu: sudo apt install git
🐋Dockerの用意
docker 環境が整っていることを前提としています。整っていない場合は、以下を参考にインストールしてください。docker desktop は個人利用のみ無料なので注意してください。docker engine は無料での商用利用が可能です。
Windows: https://docs.docker.com/desktop/install/windows-install/
Ubuntu: https://docs.docker.com/engine/install/ubuntu/
🏙️EEと🏠CEの違い
GitLab には、EE 版と CE 版があります。CE 版は、MITライセンスで無料での商用利用が可能ですが、EE 版と比べると、一部機能の制限、サポートを受けられない等の制約があります。
CE: https://gitlab.com/gitlab-org/gitlab-foss/
CE-RELEASES: https://gitlab.com/free-releases/gitlab-ce
EE: https://gitlab.com/gitlab-org/gitlab/
参照: https://gitlab-docs.creationline.com/ee/development/licensing.html
🦊Local GitLab のデプロイ
以下のサイトを参考にDockerを利用して GitLab のサーバーを建てます。イメージは、GitLab が公式で公開している Image を使用します。コンテナ化する際は、ホストとポートとデータを紐づけます。ポートの紐づけはコンテナ外からのHTTP接続のために行います。データの紐づけはコンテナを削除してもデータがホストPCに残すために行います。GitLabのバージョンアップへの対応は、基本的にイメージを最新のものに置き換えるだけOKです。
参考: https://gitlab-docs.creationline.com/ee/install/docker.html
Docker Hub:https://hub.docker.com/r/gitlab/gitlab-ce
1 リポジトリをクローン
以下のコマンドを実行しリポジトリをでクローンしてください。
git clone https://github.com/TakanariShimbo/local-gitlab.git
2 .env を作成
.env_sample を参考に .env を用意してください。
GITLAB_HOME="./volumes" # GitLabがデータを保存するディレクトリを指定します
SERVER_IP="XXX.XXX.XXX.XXX" # サーバーのIPアドレスを設定します。"XXX.XXX.XXX.XXX"を実際のローカルIPアドレスに置き換えてください
HTTP_PORT="58080" # HTTP接続用のポート番号を指定します
SSH_PORT="52424" # SSH接続用のポート番号を指定します
3 docker compose
以下のコマンドを実行すれば、サーバーが立ち上がります。立ち上がるまで数分かかるので少々お待ちください。
docker compose up -d
4 root権限でログイン
立ち上げたサーバーにアクセスするとログイン画面が表示されます。アカウントを作ってもアドミンユーザに承認されないとログインできないようです。初回はrootユーザーでログインする必要があります。
username: root
password: check file of .volumes/config/trusted-certs/initial_root_password
🙇終わりに
オンプレサーバーで GitLab を構築する方法を紹介させていただきました。是非試してみてください。