Dockerを使って、RedmineとGitLabを構築する
今回は、試行のためということから、Dockerを使って構築することにしました。
Dockerを使ってRedmine環境を構築
Redmineを1からインストールするためには、それなりに手順を踏まないといけません。
インストールに四苦八苦した挙句、実際に使ってみたら自分の使い方には合わない、なんてことになったらインストールで苦労した時間が無駄になってしまいます。
そこで、まずはRedmineを動かすことを最優先に考えて環境構築を行いました。
動かすことを優先するなら、すでに有る環境を利用するのが近道!ということで、Dockerを使ってみました。
Dockerを使えば、数ステップでRedmineの起動まで辿り着けます。
手順は「隙あらば寝る」というブログを参考にさせていただきました。
参考までに、自分が行った手順を書いておきます。
- DBデータ格納ディレクトリ、Redmineデータ格納ディレクトリを用意
これは必須ではありませんが、Dockerのコンテナを消してしまった時に、各種データまで消えてしまうのを防ぐために、各種データをホストOS側に保存しておく場所を用意しておきます。mkdir -p ~/docker-data/redmine mkdir -p ~/docker-data/redmine-pgdata
- DB用コンテナの起動
sudo docker run -d --name my-redmine-postgres -v ~/docker-data/redmine-pgdata:/var/lib/postgresql/data/pgdata -e PGDATA=/var/lib/postgresql/data/pgdata -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=redmine postgres:9.5.0
- Redmineコンテナの起動
sudo docker run -d -p 3000:3000 --name my-redmine -v ~/docker-data/redmine:/usr/src/redmine/files --link my-redmine-postgres:postgres redmine:3.0.7
これだけ!これだけでRedmineの環境が出来上がります。
PostgresqlもRedmineも、もっと新しいバージョン用のコンテナがあるかもしれませんが、今回は参考にしたブログと合わせています。
ここまで出来れば、あとはホストOS側のブラウザからhttp://localhost:3000にアクセスするとRedmineの画面を見ることができます。
Dockerを使ってGitLab環境を構築
こちらも、Redmineと同じ理由から、Dockerを使ってます。もちろん、数ステップでGitLabの起動まで辿り着けます。
手順は「GitHub – sameersbn/docker-gitlab: Dockerized GitLab」を参考にさせていただきました。
参考までに、自分が行った手順を書いておきます。
- DBデータ格納ディレクトリ、GitLabデータ格納ディレクトリを用意
これは必須ではありませんが、Dockerのコンテナを消してしまった時に、各種データまで消えてしまうのを防ぐために、各種データをホストOS側に保存しておく場所を用意しておきます。mkdir -p ~/docker-data/gitlab mkdir -p ~/docker-data/gitlab-redis mkdir -p ~/docker-data/gitlab-pgdata
- DB用コンテナの起動
sudo docker run -d --name my-gitlab-postgres -v ~/docker-data/gitlab-pgdata:/var/lib/postgresql -e 'DB_NAME=gitlabhq_production' -e 'DB_USER=gitlab' -e 'DB_PASS=password' -e 'DB_EXTENSION=pg_trgm' sameersbn/postgresql:9.6
- key-valueデータストアコンテナの起動
sudo docker run -d --name my-gitlab-redis -v ~/docker-data/gitlab-redis:/var/lib/redis sameersbn/redis:latest
- GitLabコンテナの起動
sudo docker run -d --name my-gitlab -v ~/docker-data/gitlab:/home/git/data --link my-gitlab-postgres:postgresql --link my-gitlab-redis:redisio --publish 10022:22 --publish 10080:80 -e 'GITLAB_PORT=10080' -e 'GITLAB_SSH_PORT=10022' -e 'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string' -e 'GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string' -e 'GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string' sameersbn/gitlab:8.15.3
これだけ!これだけでGitLabの環境が出来上がります。
PostgresqlもGitLabも、もっと新しいバージョン用のコンテナがあるかもしれませんが、参考にしたブログと合わせています。
ここまで出来れば、あとはホストOS側のブラウザからhttp://localhost:10080にアクセスするとGitLabの画面を見ることができます。
アクセスして色々とイジっていると分かりますが、タイムゾーンが日本のになっていなかったり、日本語化されていなかったりするので、実際に使うためには、もう少しdocker runのオプションを指定したり、設定が必要そうです。
例えば、タイムゾーンを日本時間に変更するためには、GitLabコンテナの起動時に「-e “GITLAB_TIMEZONE=Tokyo”」を追加してあげる必要があります。
まとめ
上の構築作業を、UbuntuとMacで行いましたが、いずれのOSでもRedmineとGitLabが立ち上がりました。
たぶん、CentOSなんかでも同様の結果になると思われます。
Dockerはすばらしいですね。いろいろなコンテナイメージが公開されているので、それらを利用することで、やりたいことがすぐに試行できます。
RedmineやGitLabを試したい方、簡単なので、ぜひDockerで試行してみてください。
この記事へのコメントはこちら