22
23

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 5 years have passed since last update.

HerokuにRedmine 3.4.4 をデプロイしてみた(Windows)

Last updated at Posted at 2018-01-17

#はじめに
普段は、ゲームリンクスというサークル名でフリーのノベルゲームなどの制作をしています。

今回、プロジェクト管理ツールであるRedmineをゲームリンクスでのゲーム制作に導入することにしました。
本記事は、Heroku上にデプロイした時の手順をまとめたものとなります。

#導入に至った経緯

まず、昨年から外部のサークルなどと共同でゲーム制作を行うことが増えてきました。
とはいえ、互いの進捗状況を確認するすべなどもない状況でしたし、なにより複数の制作プロセスをチェックすることが負担になっていました。

そういった負担の軽減と進捗状況の見える化を行うために、HerokuへRedmineを運用しようと思い立ちました。

それと、少し前からシナリオの執筆にGitを使いだしてかなり効率的に作業が進んだこともあり、OSSのプロジェクト管理ツールを導入しようと検討していたことも背景の一つにありますねー

#実際のデプロイまで
##ざっくりとした手順
基本的には、こちらの記事に書いてある通りに進めていきます。
How to deploy Redmine to Heroku

大まかな流れとしては、記事にもあるように、

1:ソースコードを clone
2:gitignore を弄る
3:Gemfile を弄る
4:bundle install & rake generate_secret_token を実行
5:Heroku へデプロイ

といった感じですね。

あと、HerokuへのデプロイにはHerokuアカウントと Heroku CLI を使用します。

Herokuアカウントの作成や Heroku CLI のインストールは、この辺の記事が参考になります。

Heroku初心者がHello, Herokuをしてみる

コマンドでHerokuを操作する Heroku CLI のインストール

##ローカルでの作業

まずは、Redmineのソースコードを clone します。

git clone https://github.com/redmine/redmine.git -b 3.4-stable

次に、作業ディレクトリを redmine に移します。

cd redmine

gitignore を編集して、以下のファイル項目を削除します。

Gemfile.lock
Gemfile.local
public/plugin_assets 
config/initializers/session_store.rb 
config/initializers/secret_token.rb 
config/configuration.yml 
config/email.yml

次に、Gemfile 内の下記の記述をコメントアウト(又は削除)します。

database_file = File.join(File.dirname(__FILE__), "config/database.yml")
 if File.exist?(database_file)
   database_config = YAML::load(ERB.new(IO.read(database_file)).result)
   adapters = database_config.values.map {|c| c['adapter']}.compact.uniq
   if adapters.any?
     adapters.each do |adapter|
       case adapter
       when 'mysql2'
         gem "mysql2", "~> 0.4.6", :platforms => [:mri, :mingw, :x64_mingw]
       when /postgresql/
         gem "pg", "~> 0.18.1", :platforms => [:mri, :mingw, :x64_mingw]
       when /sqlite3/
         gem "sqlite3", (RUBY_VERSION < "2.0" && RUBY_PLATFORM =~ /mingw/ ? "1.3.12" : "~>1.3.12"),
                        :platforms => [:mri, :mingw, :x64_mingw]
       when /sqlserver/
         gem "tiny_tds", (RUBY_VERSION >= "2.0" ? "~> 1.0.5" : "~> 0.7.0"), :platforms => [:mri, :mingw, :x64_mingw]
         gem "activerecord-sqlserver-adapter", :platforms => [:mri, :mingw, :x64_mingw]
       else
         warn("Unknown database adapter `#{adapter}` found in config/database.yml, use Gemfile.local to load your own database gems")
       end
     end
   else
    warn("No adapter found in config/database.yml, please configure it first")
   end
 else
  warn("Please configure your config/database.yml first")
 end

コメントアウト(又は削除)した後に、下記の記述を追加します。
追加するところは先ほどコメントアウト(又は削除)したところです。

group :development, :test do
  gem 'sqlite3'
end

group :production do
  gem 'pg', '~> 0.20'
  gem 'rails_12factor'
  gem 'thin' # change this if you want to use other rack web server
end

Gemfile の編集が終わったら bundle install を行います。

bundle install --without production test rmagick

rmagick を除いているのは、単にウチの環境ではコケるためですね。
あと、rmagickをインストールするのが面倒くさかったので……

bundle install が終わった後に、下記のコマンドを実行します。

rake generate_secret_token 

あとは、Herokuでデプロイするための変更をいくつか加えます。
まずは、config/environment.rb の exit 1 をコメントアウト(又は削除)します。

config/environment.rb
exit 1

次に、config/application.rb 内に以下の記述を追加します。

config/application.rb
config.assets.initialize_on_precompile = false

これで、ローカルでの作業は終わり。

##Herokuへデプロイ

まず、Heroku上にアプリを作成します。

heroku apps:create -a APP_NAME

次に、Herokuアプリに postgres を追加します。

heroku addons:create heroku-postgresql 

作成したHerokuアプリとローカルのリポジトリを以下のコマンドで繋ぎます

heroku git:remote -a APP_NAME

そして、以下のコマンドでHerokuへデプロイします。

git add -A
git commit -m “Prepare Redmine for Heroku deployment”
git push heroku 3.4-stable:master

最後に、マイグレーションなどを行ってデプロイは終了です。

heroku run rake db:migrate
heroku run rake redmine:load_default_data

#おわりに

とりあえず、これでHeroku上にRedmineをデプロイできました。

#参考資料
How to deploy Redmine to Heroku

Gem::LoadError: Specified 'postgresql' for database adapter, but the gem is not loaded. Add gem 'pg' to your Gemfile

Heroku and Rails: Gem Load Error with Postgres, however it is Specified in GEMFILE

Heroku初心者がHello, Herokuをしてみる

コマンドでHerokuを操作する Heroku CLI のインストール

22
23
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
22
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?