こんにちは!光永です 最近めっきり技術ブログばっかり書いているじゃないですかー!やだー!技術屋さんみたい!(錯乱) ということで今回はredmineのバージョンアップに挑戦しましたのでその経緯をお伝えします。
version upする意気込み 理由づけ
使ってみたいガントチャートのプラグインが対応していないぞ! 参考: http://redmine.jp/guide/RedmineUpgrade/
requireの確認 ここで→ http://redmine.jp/guide/RedmineInstall/ 最新バージョンが欲しいので、
の構成を狙います
各種バージョンの確認 redmine / ruby / Railsのバージョンを確認します。 参考: http://redmine.jp/faq/system_management/redmine-version/ redmineのインストールフォルダにて以下コマンドを実行
ruby script/about
【結果】
Environment:
Redmine version 2.6.5.stable
Ruby version 2.0.0-p598 (2014-11-13) [x86_64-linux]
Rails version 3.2.21
Environment production
Database adapter Mysql2
SCM:
Subversion 1.7.14
...
Subversionが入ってるので楽々な気配・・・。
各種バックアップ 何かあったら可及的速やかに死亡判定が出るので、いつでもやっとけ念のためのバックアップです。 参考: http://redmine.jp/guide/RedmineUpgrade/ 参考: http://d.hatena.ne.jp/torutk/20150906/p1
最新版をインストール 現時点では3.3.0が最新なので、出たばかりにありがちな若干の不安がありつつも入れてみます subversionよりチェックアウト
$ cd /var/lib
$ svn checkout http://svn.redmine.org/redmine/branches/3.3-stable redmine-3.3.0
各種ファイルのコピー 設定周りのこぴー
# redmine-3.3.0
$ cp -p ../redmine-2.6.5/config/configuration.yml config
$ cp -p ../redmine-2.6.5/config/database.yml config
プラグインのコピー
$ rsync -av ../redmine-2.6.5/plugins/ plugins/
添付ファイルのコピー
$ cp -pr ../redmine-2.6.5/files .
追加テーマがあればここでコピーするようです
gemのインストール # redmine-3.3.0
$ bundle update
バージョン確認
$ ruby bin/about # <- script/aboutから変更になった模様
おやエラー
An error occurred while loading the routes definition of redmine_charts2 plugin
(/var/lib/redmine-3.3.0/plugins/redmine_charts2/config/routes.rb): '' is not a supported controller name.
This can lead to potential routing problems.
See http://guides.rubyonrails.org/routing.html#specifying-a-controller-to-use . プラグインのルーティングがあきません!と言われている模様このプラグイン三年放置されてて更新ない感じですね・・・ よし一旦すてます(必要なら後で入れなおせばいいのよ!)
$ rm -rf plugins/redmine_charts2/
無事動きましたー
$ ruby bin/about
Environment:
Redmine version 3.3.0.stable.15638
Ruby version 2.0.0-p598 (2014-11-13) [x86_64-linux]
Rails version 4.2.6
Environment production
Database adapter Mysql2
SCM:
Subversion 1.7.14
Git 1.8.3.1
Filesystem
Redmine plugins:
redmine_importer 1.2.2
データベースの更新 DB・プラグインのDBともにまいぐれーとします
$ bundle exec rake db:migrate RAILS_ENV=production
$ bundle exec rake redmine:plugins:migrate RAILS_ENV=production
キャッシュ・セッションのクリア $ bundle exec rake tmp:cache:clear tmp:sessions:clear
シンボリックリンクの変更 /ver/lib/redmineを変更します!どきどき
$ cd ../
# /ver/lib
$ ln -nfs /var/lib/redmine-3.3.0 redmine
あぼん ログみまーす・・・
$ vi /var/log/httpd/error_log
App 29782 stderr: [ 2016-07-12 12:27:40.6137 29815/0x00000003eecef8(Worker 1) utils.rb:85 ]:
*** Exception RuntimeError in Rack application object
(Missing `secret_token` and `secret_key_base` for 'production' environment, set these values
in `config/secrets.yml`) (process 29815, thread 0x00000003eecef8(Worker 1)):
config/secrets.ymlてなんですのんありませんけどおこおこ
で、調べたところ、Rails4.1系からはsecret_keyの認証が変わったとかなんとか・・・(あいまい)
Rails>=4.1に対応する とりあえずconfig/secrets.ymlをつくります
# /redmine-3.3.0
$ touch config/secrets.yml
なかみはこんなかんじらしい・・・
# config/secrets.yml
development:
secret_key_base: hogekey…
test:
secret_key_base: fugakey…
production:
secret_key_base: hogehogekey # <- これがなかったのがエラーの原因!
secret_keyは適当に書いてもいいよ!みたいな情報を見つけたので (´-`).。oO(ほんとうにええのか・・・?) と思いつつキーを生成してhogehogekeyのところにコピペします
$ bundle exec rake secret RAILS_ENV=production
↑この結果をコピペする
念願の一瞬・・・! そして念のためキャッシュ・セッションをもっかい消して、 redmineもrestart・・・
やったぜ。 なお再起動は以下の手順です。
tmp以下にrestart.txtの空ファイルをつくる$ touch tmp/restart.txt
ブラウザでredmineへアクセス! tmp/restart.txtが自動で消えず残っていることがあるので、消す Redmine3の感想 レスポンシブ対応してるーーー!
ガントチャートに日付ついてるーーーー!
これ・・・が便利なのかはまだわからないーーー!(すなお)
ということで無事バージョンアップできました。 ▼ りなっくす力(ちから) が3上がった! ▼ Rails力 が1上がった! ▼ ruby力 が1上がった! そんなわけで光永でした! また次回!