バージョン管理ツールGitLabの導入

GitHubのオンプレミス版ライクなGitLabをDocker環境に日本語化をして導入します。GitLabにはOSS版のGitLab CEと有償版のGitLab EEがありますがここではGitLab CEを使用します。

1.目標とするGitLabのURL

GitLab-CEは標準でHTTPポート80とHTTPSポート443を使用しますがDockerホストマシンの80/443ポートは既に使用済みです。

ホストとGitLabコンテナのポートマッピング設定で外部に公開するポートを未使用のポート8080等にも変換できますがアクセスする際にポート番号を指定するのはスマートではありません。

そこで今回も以前導入した「jwilder/nginx-proxy」のネットワークに参加しリバースプロキシされるようにします。

8080ポートにマッピング時のURL「http://hoge3.com:8080」

目標とするGitLabのURL:「http://gitlab.hoge3.com」

2.Dockerコンテナ連携方針

GitLabのDockerイメージもRedmineと同様にオフィシャル版を使用します。使用するDBは当初別コンテナのmysqlを予定していましたがGitLab CEでは一筋縄ではいかなかったのでデフォルトで導入される内部のpostgresqlにしました。GitLabに登録したデータが再起動後も引き継がれるようにデータボリュームコンテナを用意して使用します。

(1)データボリューム

busyboxイメージのデータボリュームコンテナを用意しGitlabコンテナから以下の3つのディレクトリを使用できるようにします。

data/git/config

data/git/log

data/git/opt

(2)フォルダ構成

3.Docker-Composeの設計
(1)コンテナサービス一覧
コンテナサービス名 役割 関連サービス
gitlabdata Gitlab用のデータボリュームコンテナ Gitlab(マウント)
gitlab gitlabタスク
(2)docker-compose.yml

以下が作成したdocker-compose.ymlです。gitlabコンテナは日本語化パッチを適用する為Build指定をしています。

【GitLab設定】

10行目から24行目までがgitlabコンテナの設定です。

14行目がgitlabのポート22をホストの10022にマッピングする設定です。

20行目の「VIRTUAL_HOST」キーにはgitlabのURLを指定します。ここでは前述の通り「gitlab.hoge3.com」を指定しています。VIRTUAL_HOSTキーは「jwilder/nginx-proxy」がリバースプロキシする際に参照します。

21行目の「GITLAB_OMNIBUS_CONFIG」以下の設定は記述するとgitlabコンテナの/etc/gitlab.rb内の同一設定を上書きするようです。

今回は新規追加したgitlabコンテナとの設定についてのみ説明しました。これ以外の設定については以下の記事を参照してください。

DockerコンテナにNginxリバースプロキシを導入

Docker-Composeでnginx,php,mysqlの3コンテナを連携する

(3)Dockerfile

Dockerfileに日本語化パッチ適用スクリプトを追記します。使用するのはこちらのパッチです。以下が作成したDockerfileです。

1行目:日本語化パッチの最新バージョンに合わせて導入するgitlab-ceのバージョンを指定しています。2018/3/31時点の日本語化パッチ最新は9.1.4です。

2行目:patchとcurlをインストールしています。

3行目:日本語化パッチをダウンロードしています。

4行目:日本語化パッチを適用しています。

4.GitLabの動作確認
(1)Docker-Composeの起動と確認

Docker-Compose.ymlファイルのあるディレクトリに移動し以下のコマンドでコンテナを起動します。

docker psなどで起動確認が出来たら次に進めます。

(2)リバースプロキシ設定確認

「jwilder/nginx-proxy」コンテナのnginx設定ファイルdefault.confにredmineコンテナへのリバースプロキシ設定が追加されているかコンテナに接続して確認します。

/etc/nginx/conf.d/default.confの内容抜粋

上記の通り「http://gitlab.hoge3.com」へのアクセスがgitlabコンテナへ転送されていることが分かります。

(3)GitLab接続確認

webブラウザからhttp://gitlab.hoge3.comで接続します。

gitlab初期画面

日本語化された初期画面に接続できました。

このあと初期パスワードを設定し、rootでログインをすると以下の画面が表示されます。

GitlLab初期設定画面

ここからGitlab環境を設定していきます。

5.参考にさせて頂いたサイト

DockerでのGitLab構築時に自動で日本語化パッチをあてる

(改訂版) Docker でオフィシャルな GitLab イメージと Redmine イメージのコンテナを連携させる

ありがとうございます。

スポンサーリンク
レクタングル大広告




レクタングル大広告




シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル大広告