プロジェクト

全般

プロフィール

Redmineアップグレード(svn版)

バックアップ

  • 念のためバックアップを行います
    # systemctl stop httpd
    # cd /usr/local
    # tar czf redmine_yyyymmdd.tar.gz redmine
    # mysqldump --no-tablespaces -u redmine -p redmine > redmine_dump.sql
    

アップグレード

  • インストール先に入り、リポジトリ情報を確認します
    # cd redmine
    # sudo -u apache svn info
    既存バージョンのリポジトリ情報が確認できること
    
  • この作業は異なるstableバージョンを切り替える場合のみに行います。
    メンテナンスバージョンのみの更新時は不要です。
    • リポジトリ参照元を変更します
      https://svn.redmine.org/redmine
      sudo -u apache svn switch https://svn.redmine.org/redmine/branches/5.1-stable
      ファイルが更新されます
      
    • マイナーバージョン、メジャーバージョンを更新する場合、設定ファイルに互換性が無い場合が
      あるため、大幅な更新時は新規ファイルをベースに設定ファイルを作り直すことを検討してください。
  • 下記を実行しリソースを更新します(前述のswitchを実行していると更新済のためそのまま完了します)
    # sudo -u apache svn update
    ファイルが更新されます
    
  • 再度リポジトリ情報を確認します
    # sudo -u apache svn info
    新しいバージョンに変わっていること
    
  • RHEL8系列の場合nokogiriでglibc非互換のエラーが出るバージョンがあるため、まだ直っていなければ
    「Gemfile」のnokogiri部分を下記の変更が上書きされて戻っていないかを確認します。
    # vi Gemfile
    ----------------------------------------
    #gem 'nokogiri', Gem.ruby_version >= Gem::Version.new('3.1') ? '1.18.3' : '~> 1.15.7'
    gem 'nokogiri', '~> 1.16.0'
    
  • bundlerを更新し、バンドルパッケージを更新します
    # bundle update --bundler
    # bundle install
    
  • redmineのアドレス以下にリンクを追加するためpublicシンボリックを仕込んでいる場合は上書きされて消滅していれば再度作成します
    (弊環境がそうなだけで、普通の環境にはあまりないと思います。example.com/redmine/portalみたいなリンクが作れます。)
    # ll public/portal
    lrwxrwxrwx 1 root root 21  8月 21 19:33 public/portal -> /var/www/html/home
    ↑が存在しない場合、下記を実行します
    
    # ln -s /var/www/html/home public/portal
    # ll public/portal
    lrwxrwxrwx 1 root root 21  8月 21 19:33 public/portal -> /var/www/html/home
    
  • 弊環境ではデフォルトテーマのCSSをカスタマイズしているので、上書き更新されていればこれを変更します
    先頭付近の下記において、既存h2~h4をコメントしborder-bottomつきh2~h4を転記します。
    # vi public/stylesheets/application.css
    --------------------
    h1, h2, h3, h4, h5, h6 {font-family: "Trebuchet MS", Verdana, sans-serif;padding: 2px 10px 1px 0px;margin: 0 0 10px 0;}
    #content h1, h2, h3, h4, h5, h6 {color: #555;}
    #h2 {font-size: 20px;}
    #h3 {font-size: 16px;}
    #h4 {font-size: 13px; border-bottom: 1px solid #ccc; font-weight:normal;}
    h2, .wiki h1 {font-size: 20px; border-bottom: 1px solid #bbb; margin-left: 0em;}
    h3, .wiki h2 {font-size: 16px; border-bottom: 1px solid #bbb; margin-left: 0.5em;}
    h4, .wiki h3 {font-size: 13px; border-bottom: 1px dotted #bbb; margin-left: 1.0em;}
    h4 {border-bottom: 1px dotted #bbb;}
    
  • wikiの許可タグを変更している場合、上書き更新されていれば記載内容を転記して移行します
    # vi lib/redmine/wiki_formatting/textile/redcloth3.rb
    --------------------
        #ALLOWED_TAGS = %w(pre code kbd notextile)
        ALLOWED_TAGS = %w(pre code kbd notextile br iframe)
    
  • データベース、プラグインデータベースをマイグレーションします
    # bundle exec rake db:migrate RAILS_ENV=production
    # bundle exec rake redmine:plugins:migrate RAILS_ENV=production
    
  • キャッシュをクリアします
    # bundle exec rake tmp:cache:clear RAILS_ENV=production
    
  • サービスを再開します
    # systemctl start httpd
    
  • 問題が無ければ上記で起動するはずです。
    ログインして「管理」→「情報」ページでバージョンやセルフチェック状況を確認します。
    https://example.com/redmine/admin/info
    • 次の警告はしばらく無視してOKです
      キューアダプターがデフォルト (開発・テスト用) 以外のものに変更済み (!)
      
  • しばらく運用して問題なさそうであればバックアップを削除してかまいません。

プラグインの更新

  • 「管理」→「プラグイン」で「アップデートを確認」を行います
  • 下記マークによってある程度更新すべきかの判断が可能です。
    警告マークは更新を推奨するものなので更新を推奨します。
    ?マークはredmineのプラグイン管理サイト外のものなので適宜判断します。
    緑のチェックマークはredmineのプラグイン管理サイトで最新としているものなのでそのままでOKです。
    何もマークがついていない場合は基本的に問題ありませんが、適宜最新に上げるかを確認します。
    • プラグインはメジャーバージョン間の互換性が無いため、必ずしも最新にできないことが多いです。
  • サービスはダウンしておきます
    # systemctl stop httpd
    
  • 下記のパスに転送し展開します
    cd /usr/local/redmine/plugins/
    wget プラグイン.zip
    --------------------
    sudo -u apache unzip プラグイン.zip
    
  • ビルドと組み込みを実行します。
    # bundle install --without development test --no-deployment
    # bundle exec rake redmine:plugins NAME=プラグイン名 RAILS_ENV=production
    
  • サービスを再開します。
    # systemctl start httpd
    
  • 再度「管理」→「プラグイン」で「アップデートを確認」を行います
  • プラグイン更新されており、警告が消えていることを確認します。