1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【実験】Dockerを使用してGitLabを構築してみる part3

Posted at

前回に引き続き、Dockerを使ったGitLabについて触れていきます。
今回からは複数のGitLabサーバーでデータ共有を試してみたいと思います。今回はその事前準備としてGitLabサーバーのバージョンを合わせる作業を実施します。
なぜこの作業が必要になるかと言いますと、GitLabのデータは異なるバージョン同士のデータで互換性が無い為です。
異なるバージョン同士のGitLabサーバーでデータ共有しようとするとどうなるかはいずれ試してみたいとは思います。
現行のバージョンは13.10.x以上ですが、今回は例として13.8.1をインストールします。

#バージョンを指定してGitLabインストールを実施する(yum install版)
まずは事前準備としてGitLabに必要なパッケージを一括でインストールします。
インストール後、sshdとpostfixを有効化します。
※以降のコマンドは全てsudoを省略しています

yum install -y policycoreutils-python curl openssh-server openssh-clients postfix
systemctl enable sshd postfix
systemctl status sshd postfix #sshdとpostfixが「active (running)」になっていればOK

インストール完了後、firewallのhttp通信を許可設定します。

firewall-cmd --permanent --add-service=http
systemctl reload firewalld

firewallの設定が完了したら、GitLabのリポジトリを登録します。

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

ここまでは通常のGitLabインストール手順と同様です。
次はGitLabのインストールとなりますが、その前にyum installでバージョン指定してインストールする場合、以下のコマンドからインストールしたいバージョンのパッケージ名を調べます。

yum --showduplicates search gitlab-ce | grep <バージョン>
例:
yum --showduplicates search gitlab-ce | grep 13.8.1 #GitLab バージョン13.8.1の場合
gitlab-ce-13.8.1-ce.0.el7.x86_64 : GitLab Community Edition (including NGINX,

上記出力結果をyum installコマンドの後ろに記述すればバージョン指定のインストールが可能となります。

例:
yum install -y gitlab-ce-13.8.1-ce.0.el7.x86_64 #GitLab バージョン13.8.1の場合

インストールが完了しましたら、初回のreconfigureを実行します。

gitlab-ctl reconfigure

しばらく待つとgitlab Reconfigured!と表示されます。
gitlab-ctl statusコマンドで全てのサービスが「run」となっていれば完了です。

#バージョンを指定してGitLabインストールを実施する(docker install版)
Dockerからインストールする場合で、バージョン(tag)を指定してインストールする場合の書式は以下の通りとなっているようです。
単にタグをバージョンのナンバーにすれば良い訳ではなく、バージョンのナンバーの後ろに-ce.0を含めています。
インストールしたいバージョンのGitLabが存在しているか、存在している場合のtag名を確認したい場合はDocker HubのGitLab公式から確認してみてください。

docker pull gitlab/gitlab-ce:<バージョン>-ce.0
例:
docker pull gitlab/gitlab-ce:13.8.1-ce.0 #GitLab バージョン13.8.1の場合

バージョン指定して取得したGitLabのイメージをインストールするにはこちらで実施したインストール方法と同じコマンドで実施します。
注意点としては最後に指定するタグ名はlatestではなく今回取得した対象タグ名に書き換えする必要があります。

docker run --detach \
  --hostname gitlab.example.com \
  --publish 443:443 --publish 80:80 --publish 2002: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 \
  gitlab/gitlab-ce:<タグ名(例:13.8.1-ce.0)> #GitLab バージョン13.8.1の場合

上記コマンドでインストールを実行し、docker logs -f gitlabコマンドでインストールの進行状況を確認すると、ループが発生するので、何度も繰り返しているなと思ったらctrl + cでキャンセルし、docker exec -it gitlab gitlab-ctl reconfigureコマンドを実行します。

少し待つとgitlab Reconfigured!と表示されます。
docker exec -it gitlab gitlab-ctl statusコマンドで全てのサービスが「run」となっていれば完了です。

#インストール後の確認(共通)
インストール完了後、http://<ホストのIPアドレス>へアクセスし、rootでログインします。
無事ログインが出来たらhttp://<ホストのIPアドレス>/helpへアクセスします。
アクセスした先で想定通りのバージョンが表示されていれば完了です。

今回は以上です。
次回はバージョンを合わせたGitLabサーバー同士でデータの共有を試そうと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?