Dockerを使って、RedmineとGitLabを構築する

   2017/01/17

Dockerを使って、RedmineとGitLabを構築するRedmineGitLabを触ってみたいと思い立ち、環境を構築することにしました。
今回は、試行のためということから、Dockerを使って構築することにしました。
 

Dockerを使ってRedmine環境を構築

Redmineを1からインストールするためには、それなりに手順を踏まないといけません。
インストールに四苦八苦した挙句、実際に使ってみたら自分の使い方には合わない、なんてことになったらインストールで苦労した時間が無駄になってしまいます。
そこで、まずはRedmineを動かすことを最優先に考えて環境構築を行いました。

動かすことを優先するなら、すでに有る環境を利用するのが近道!ということで、Dockerを使ってみました。
Dockerを使えば、数ステップでRedmineの起動まで辿り着けます。
手順は「隙あらば寝る」というブログを参考にさせていただきました。
参考までに、自分が行った手順を書いておきます。

  1. DBデータ格納ディレクトリ、Redmineデータ格納ディレクトリを用意
    これは必須ではありませんが、Dockerのコンテナを消してしまった時に、各種データまで消えてしまうのを防ぐために、各種データをホストOS側に保存しておく場所を用意しておきます。

    mkdir -p ~/docker-data/redmine
    mkdir -p ~/docker-data/redmine-pgdata
    
  2. 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
    
  3. 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」を参考にさせていただきました。
参考までに、自分が行った手順を書いておきます。

  1. DBデータ格納ディレクトリ、GitLabデータ格納ディレクトリを用意
    これは必須ではありませんが、Dockerのコンテナを消してしまった時に、各種データまで消えてしまうのを防ぐために、各種データをホストOS側に保存しておく場所を用意しておきます。

    mkdir -p ~/docker-data/gitlab
    mkdir -p ~/docker-data/gitlab-redis
    mkdir -p ~/docker-data/gitlab-pgdata
    
  2. 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
    
  3. key-valueデータストアコンテナの起動
    sudo docker run -d --name my-gitlab-redis -v ~/docker-data/gitlab-redis:/var/lib/redis sameersbn/redis:latest
    
  4. 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”」を追加してあげる必要があります。
 

まとめ

上の構築作業を、UbuntuMacで行いましたが、いずれのOSでもRedmineとGitLabが立ち上がりました。
たぶん、CentOSなんかでも同様の結果になると思われます。

Dockerはすばらしいですね。いろいろなコンテナイメージが公開されているので、それらを利用することで、やりたいことがすぐに試行できます。
RedmineやGitLabを試したい方、簡単なので、ぜひDockerで試行してみてください。
 

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

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください