2019年6月7日金曜日

Redmineのアップグレード(3.4→4.0)とGoogle認証プラグイン

そろそろ 4.0系にアップグレードするかぁと思ってやってみました。
今回はメジャーバージョンアップになります。

関連情報





3.3から3.4系にしたときには特に目新しいものはなかったので、Redmine に関するブログを書くのは久しぶりです。なお 3.4 にしたときに、Google認証プラグイン「redmine_omniauth_google」が動作しなくなっていました。
しかし今回、
というオリジナルをフォークした「redmine_omniauth_google」プラグインを使わせていただき、動くようになりました。

アップグレード


インストール場所:/usr/local/redmime-svn/4.0-stable
Nginxで指定する場所:/usr/local/redmine-svn/redmine (/usr/local/redmime-svn/4.0-stable へのシンボリックリンク)
データベース:redmine34 --> redmine40 への移行

とすると仮定します。

Step 1. Redmine のダウンロード


cd /usr/local/redmine-svn
svn co https://svn.redmine.org/redmine/branches/4.0-stable/

これで 4.0-stable フォルダができます。

Step 2. 設定のコピーと編集


cd /usr/local/redmine-svn/4.0-stable
cp -p  ../3.4-stable/config/database.yml   config/
cp -p  ../3.4-stable/config/configuration.yml   config/
cp -p  ../3.4-stable/config/unicorn.rb    config/

config/database.yml の編集(1箇所)

データベースとして、
database:redmine34
database:redmine40

Step 3. データベースのコピー


phpmyadmin 等で redmine34 のデータベースをエクスポートし、redmine40 というデータベースを新規作成した上で、そこにインポートする。

redmine34 と異なるユーザーに権限を渡した場合には、上記 database.yml のユーザーとパスワードのデータを変更すること。

Step 4. ファイルとフォルダのコピー


cd /usr/local/redmine-svn/4.0-stable
rm -rf files
cp -rp ../3.4-stable/files 

Step 5. Google Auth プラグイン「redmine_omniauth_google」のインストール


cd /usr/local/redmine-svn/4.0-stable
cd plugins
git clone https://github.com/yamamanx/redmine_omniauth_google.git
bundle install

※ bundle install で警告やエラーがでたが、とりあえずそのまま進む。

Step 6. 必要なツール類のインストール(Unicorn等)


cd /usr/local/redmine-svn/4.0-stable
gem install bundler --no-rdoc --no-ri
echo 'gem "unicorn"' >> Gemfile
bundle update
bundle exec rake generate_secret_token
bundle exec rake db:migrate RAILS_ENV=production
bundle exec rake redmine:plugins:migrate RAILS_ENV=production

Step 7. A1 テーマのインストールと設定移行


以前から A1テーマを使っていたので、その最新版を入れることにする。
ダウンロードしたものについて

/usr/local/redmine-svn/4.0-stable/public/themes/

に展開する(a1フォルダを入れる)。

/usr/local/redmine-svn/4.0-stable/public/themes/a1/

に入るはず。
以前の a1 テーマにカスタム設定したスタイルシートを移行しておく

cd /usr/local/redmine-svn/4.0-stable
cp -p  ../3.4-stable/public/themes/a1/stylesheets/application.css   public/themes/a1/stylesheets/

どういうカスタマイズをしたかというと

優先度
 今すぐ:紫
 急いで:赤
 高め:オレンジ
 通常と低い:灰色・白
※ただし終了したものは、通常と同じ背景にした上で、文字は青。

という感じ。

Step 8. Redmine を止めて移行する


まずは動作している Redmine 3.4系を停止します。

/etc/init.d/unicorn stop

unicorn のプロセスが残っていたら個別に kill してください。
残っていたら、移行後に redmine 4.0 用の unicornが起動できません。

cd /usr/local/redmine-svn/
rm redmine
ln -s 4.0-stable  redmine

として
/usr/local/redmine-svn/redmine (シンボリックリンク)の実体を
 3.4-stable から 4.0-stable フォルダに切り替えます。

/etc/init.d/unicorn start

で起動すればOK.

STEP 9. Google 認証でログインできるようにする


管理者で Redmine にログインし、「管理 > プラグイン」より、「redmine_omniauth_google」プラグインの設定を行います。

設定に関しては
を参考にしてみてください。
基本的に
  • Client ID: Google Developer Console で発行
  • Client Secret: Google Developer Console で発行 
  • Available domains: 無料版 Gmailなら gmail.com、G Suiteならそれぞれのドメインを入れる感じ。
  • Oauth authentiffication: オンにする
になるはずです。

またプラグインの各種設定については

を参考にしてみるとよいでしょう。

実際にログアウトして、Google 認証ボタン(Login via Google)を押して、Googleログイン画面が出てきて、そこにログインすることで Redmine に登録したユーザー(メールアドレス)でログインできたらOKですね。



ということで Redmine 4.0.3(2019-06-07時点)が入ったのでした。
今回 Redmine の新機能をみると、##チケットID でチケットのタイトルが入ってくれるのは大きいなと思いました。

2019年6月7日 @kimipooh

0 件のコメント:

コメントを投稿