GitLab最小構成セットアップ(AWSに応用可)

この記事はQiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。

実行環境

OS:Ubuntu 18.0.4 CPU:2コア メモリ:4GB HDD:120GB

※ EC2を使用した場合、T2.medium、ストレージ30GB で動作確認済み  6人で使用した実績あり

Docker、Docker-composeの設定

今回使用するホスト端末に Docker 、Docker-compose をインストールする。

# Docker をインストール
$ sudo apt install -y docker.io

# Github からモジュールをダウンロードするため、一時的にスーパーユーザーに変更
$ sudo su -

# モジュールのダウンロード(download/ の後の番号はバージョンを指定する)
$ curl -L "https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# docker-compose コマンドに実行権限を付与する
$ chmod +x /usr/local/bin/docker-compose

# スーパーユーザーから抜ける
$ exit

# Docker の動作確認
$ docker --version

# Docker-Compose の動作確認
$ docker-compose --version

Docker 自動起動設定

AWSの場合)EC2インスタンス立ち上げ後に自動起動させるには、下記コマンドを実行する。

$ sudo chkconfig docker on

Docker-Composeファイルの作成

YAMLファイルをホームディレクトリに作成する。 ※ 下記設定以外にも色々追加できるので https://github.com/sameersbn/docker-gitlab の docker-compose.yml を参考に追加する。

version: '2'
services:
  gitlab:
    image: 'gitlab/gitlab-ce:latest'
    restart: always
    ports:
      - '8000:80'  # ポートの指定 {インバウンド}:{アウトバウンド}
      - '22:22'
    volumes:
      # ホストへのマウント設定
      - '/srv/gitlab/config:/etc/gitlab'
      - '/srv/gitlab/logs:/var/log/gitlab'
      - '/srv/data:/var/opt/gitlab'
    environment:  # ここでgitlab.rbに設定される値を前もって指定できる
      - GITLAB_HOST=192.168.1.1  # ここにホストのIPを設定する(EC2の場合はEIP)
      - GITLAB_PORT=80
      - GITLAB_SSH_PORT=22
      - GITLAB_ROOT_PASSWORD=password123  # rootユーザーの初期パスワード

下記コマンドを実行してコンテナを作成する。

# YAMLファイルを作成したディレクトリないで実行する
$ docker-compose up -d

コンテナ作成後、別端末のブラウザで http://<ホストのIP>:8000 にアクセスする。

ログインIDとパスワードを入力してログイン

git clone 確認用リポジトリ作成

git clone コマンドを実行して接続確認を行う。

$ git clone http://<ホスト端末のIP>:8000/root/test.git

以上で、基本的な設定は完了。