RedmineのバージョンアップーRocky Linux 8とUnicornとNginx編¶
はじめに¶
CentOS 8がサポート終了後、CentOS 8互換のディストリビューションの一つRocky Linux 8に移行してRedmineを動かしています。
今回は、Redmine 5.0から5.1へのバージョンアップを実施します。
Redmine 5.1の動作条件¶
公式サイトの Redmine 5.1.0 released によると
- Ruby 2.6以前のサポートはなし、2.7-3.2に対応
Rocky Linux 8のruby対応¶
Rocky Linux 8.8で現在使用しているrubyバージョンは2.6でした。
~$ dnf info ruby 利用可能なパッケージ 名前 : ruby バージョン : 2.6.10 リリース : 109.module+el8.6.0+988+8031c193 :
Rocky Linux 8が採用しているパッケージ管理システム dnf では、同じパッケージ(ruby)を複数バージョン管理することができます。
まず、現在利用できるrubyバージョンの一覧を確認します。
$ dnf module list ruby Rocky Linux 8 - AppStream Name Stream Profiles Summary ruby 2.5 [d] common [d] An interpreter of object-oriented scripting language ruby 2.6 [e] common [d] [i] An interpreter of object-oriented scripting language ruby 2.7 common [d] An interpreter of object-oriented scripting language ruby 3.0 common [d] An interpreter of object-oriented scripting language ruby 3.1 common [d] An interpreter of object-oriented scripting language ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled
ruby 2.6が [e]および[i]となっており、現在有効化されインストールされていることが分かります。
ruby 2.7, 3.0, 3.1が提供されているので、Rocky Linuxの標準リポジトリから、Redmine 5.1のサポート対象 Rubyバージョン 2.7-3.2に含まれる ruby が利用できることが分かりました。
今回は、対応バージョンのうちRocky Linuxで利用できる最も新しい Rubyバージョン 3.1を入れることにします。
バージョンアップ作業¶
Rubyバージョンアップ¶
Rocky Linux 8.8のrubyバージョンを2.6から3.1にバージョンアップします。
まず、現在のモジュールリストは次です。
$ dnf module list ruby Rocky Linux 8 - AppStream Name Stream Profiles Summary ruby 2.5 [d] common [d] An interpreter of object-oriented scripting language ruby 2.6 [e] common [d] [i] An interpreter of object-oriented scripting language ruby 2.7 common [d] An interpreter of object-oriented scripting language ruby 3.0 common [d] An interpreter of object-oriented scripting language ruby 3.1 common [d] An interpreter of object-oriented scripting language ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled
現在有効化されている ruby 2.6を無効化する必要があります。
~$ sudo dnf module reset ruby -y :
~$ sudo dnf module list ruby Rocky Linux 8 - AppStream Name Stream Profiles Summary ruby 2.5 [d] common [d] An interpreter of object-oriented scripting language ruby 2.6 common [d] An interpreter of object-oriented scripting language ruby 2.7 common [d] An interpreter of object-oriented scripting language ruby 3.0 common [d] An interpreter of object-oriented scripting language ruby 3.1 common [d] An interpreter of object-oriented scripting language ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled
次に、ruby 3.1を有効化します。
~$ sudo dnf module enable ruby:3.1 -y
~$ sudo dnf module list ruby Rocky Linux 8 - AppStream Name Stream Profiles Summary ruby 2.5 [d] common [d] An interpreter of object-oriented scripting language ruby 2.6 common [d] An interpreter of object-oriented scripting language ruby 2.7 common [d] An interpreter of object-oriented scripting language ruby 3.0 common [d] An interpreter of object-oriented scripting language ruby 3.1 [e] common [d] An interpreter of object-oriented scripting language ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled
dnfのパッケージ管理上、ruby 3.1 が有効化されました。まだインストールはされていないのでインストールします。
~$ sudo dnf install ruby メタデータの期限切れの最終確認: 0:47:16 前の 2023年11月03日 10時13分01秒 に実施 しました。 パッケージ ruby-2.6.10-109.module+el8.6.0+988+8031c193.x86_64 は既にインストールされています。 依存関係が解決しました。 ================================================================================ パッケージ Arch バージョン Repo サイズ ================================================================================ アップグレード: ruby x86_64 3.1.2-141.module+el8.7.0+1081+f0a69743 appstream 88 k ruby-devel x86_64 3.1.2-141.module+el8.7.0+1081+f0a69743 appstream 511 k ruby-libs x86_64 3.1.2-141.module+el8.7.0+1081+f0a69743 appstream 3.3 M rubygem-bigdecimal x86_64 3.1.1-141.module+el8.7.0+1081+f0a69743 appstream 113 k rubygem-io-console x86_64 0.5.11-141.module+el8.7.0+1081+f0a69743 appstream 72 k rubygem-json x86_64 2.6.1-141.module+el8.7.0+1081+f0a69743 appstream 99 k rubygem-psych x86_64 4.0.3-141.module+el8.7.0+1081+f0a69743 appstream 98 k rubygems noarch 3.3.7-141.module+el8.7.0+1081+f0a69743 appstream 319 k 依存関係のインストール: ruby-default-gems noarch 3.1.2-141.module+el8.7.0+1081+f0a69743 appstream 78 k 置き換え rubygem-did_you_mean.noarch 1.3.0-109.module+el8.6.0+988+8031c193 置き換え rubygem-openssl.x86_64 2.1.2-109.module+el8.6.0+988+8031c193 トランザクションの概要 ================================================================================ インストール 1 パッケージ アップグレード 8 パッケージ ダウンロードサイズの合計: 4.6 M これでよろしいですか? [y/N]: y
続行すると、ruby 2.6からruby 3.1へのアップグレードが実施されます。
ruby 3.1でのパッケージ更新¶
ruby を3.1にしたことにより、rubyに関係するパッケージのアップデートが可能となります。(例、rubygem-bundler)
bundlerは、アップデートをしておいた方が良いようです。
$ sudo dnf update ================================================================================ パッケージ Arch バージョン Repo サイズ ================================================================================ アップグレード: binutils x86_64 2.30-119.el8_8.2 baseos 5.8 M firewalld noarch 0.9.11-1.el8_8 baseos 508 k firewalld-filesystem noarch 0.9.11-1.el8_8 baseos 77 k python3-firewall noarch 0.9.11-1.el8_8 baseos 433 k rubygem-bundler noarch 2.3.7-141.module+el8.7.0+1081+f0a69743 appstream 448 k rubygem-irb noarch 1.4.1-141.module+el8.7.0+1081+f0a69743 appstream 126 k rubygem-rdoc noarch 6.4.0-141.module+el8.7.0+1081+f0a69743 appstream 517 k トランザクションの概要 ================================================================================ アップグレード 7 パッケージ ダウンロードサイズの合計: 7.9 M これでよろしいですか? [y/N]:
rubyをバージョンアップすると...¶
rubyのバージョンアップをしたので、Redmineを再起動して動作させようとすると、接続できず、unicornが起動失敗していました。
11月 03 11:03:42 redmine-host redmine-unicorn[1369]: bundler: command not found: unicorn_rails -c config/unicorn.rb -E production
Redmineのbundlerでインストールしたgemsモジュールはrubyバージョンに依存しているので、/var/lib/redmine/vendor/bundler/ruby/2.6.0/の下にインストールされたgemsモジュール(unicornを含む)が見つからない状態になってしまっています。
bundlerの再インストール¶
rubyのバージョンを変更すると、bundlerの下のgemsを再度インストールし直す必要があります。
redmine$ bundle update Fetching gem metadata from https://rubygems.org/......... Resolving dependencies.... Fetching rake 13.1.0 (was 13.0.6) Installing rake 13.1.0 (was 13.0.6) Fetching concurrent-ruby 1.2.2 (was 1.1.10) Fetching minitest 5.20.0 (was 5.16.2) Fetching zeitwerk 2.6.12 (was 2.6.0) Installing zeitwerk 2.6.12 (was 2.6.0) Fetching builder 3.2.4 Installing minitest 5.20.0 (was 5.16.2) Fetching erubi 1.12.0 (was 1.11.0) Installing concurrent-ruby 1.2.2 (was 1.1.10) Installing builder 3.2.4 Installing erubi 1.12.0 (was 1.11.0) Fetching mini_portile2 2.8.5 (was 2.8.0) Fetching racc 1.7.2 (was 1.6.0) Fetching crass 1.0.6 Installing mini_portile2 2.8.5 (was 2.8.0) Installing racc 1.7.2 (was 1.6.0) with native extensions Fetching rack 2.2.8 (was 2.2.4) Installing crass 1.0.6 Fetching nio4r 2.5.9 (was 2.5.8) Installing rack 2.2.8 (was 2.2.4) Installing nio4r 2.5.9 (was 2.5.8) with native extensions Fetching websocket-extensions 0.1.5 Installing websocket-extensions 0.1.5 Fetching marcel 1.0.2 Installing marcel 1.0.2 Fetching mini_mime 1.1.5 (was 1.1.2) Installing mini_mime 1.1.5 (was 1.1.2) Fetching method_source 1.0.0 Installing method_source 1.0.0 Fetching thor 1.3.0 (was 1.2.1) Fetching public_suffix 5.0.3 (was 4.0.7) Installing thor 1.3.0 (was 1.2.1) Using bundler 2.3.7 Fetching chunky_png 1.4.0 Installing public_suffix 5.0.3 (was 4.0.7) Fetching commonmarker 0.23.4 Installing chunky_png 1.4.0 Installing commonmarker 0.23.4 with native extensions Fetching csv 3.2.7 (was 3.2.3) Installing csv 3.2.7 (was 3.2.3) Fetching digest 3.1.1 (was 3.1.0) Installing digest 3.1.1 (was 3.1.0) with native extensions Fetching ffi 1.16.3 (was 1.15.5) Installing ffi 1.16.3 (was 1.15.5) with native extensions Fetching htmlentities 4.3.4 Installing htmlentities 4.3.4 Fetching kgio 2.11.4 Installing kgio 2.11.4 with native extensions Fetching mini_magick 4.11.0 Installing mini_magick 4.11.0 Fetching mysql2 0.5.5 (was 0.5.4) Installing mysql2 0.5.5 (was 0.5.4) with native extensions Fetching timeout 0.4.0 (was 0.3.0) Installing timeout 0.4.0 (was 0.3.0) Fetching strscan 3.0.7 (was 3.0.4) Installing strscan 3.0.7 (was 3.0.4) with native extensions Fetching net-ldap 0.17.1 Installing net-ldap 0.17.1 Fetching raindrops 0.20.1 (was 0.20.0) Installing raindrops 0.20.1 (was 0.20.0) with native extensions Fetching rbpdf-font 1.19.1 Installing rbpdf-font 1.19.1 Fetching redcarpet 3.5.1 Installing redcarpet 3.5.1 with native extensions Fetching rexml 3.2.6 (was 3.2.5) Installing rexml 3.2.6 (was 3.2.5) Fetching rotp 6.3.0 (was 6.2.0) Installing rotp 6.3.0 (was 6.2.0) Fetching rouge 3.28.0 Installing rouge 3.28.0 Fetching rqrcode_core 1.2.0 Installing rqrcode_core 1.2.0 Fetching rubyzip 2.3.2 Installing rubyzip 2.3.2 Fetching i18n 1.10.0 Installing i18n 1.10.0 Fetching tzinfo 2.0.6 (was 2.0.5) Fetching rack-test 2.1.0 (was 2.0.2) Installing tzinfo 2.0.6 (was 2.0.5) Installing rack-test 2.1.0 (was 2.0.2) Fetching sprockets 4.2.1 (was 4.1.1) Fetching request_store 1.5.1 Installing request_store 1.5.1 Fetching websocket-driver 0.7.6 (was 0.7.5) Installing sprockets 4.2.1 (was 4.1.1) Fetching mail 2.7.1 Installing websocket-driver 0.7.6 (was 0.7.5) with native extensions Installing mail 2.7.1 Fetching nokogiri 1.13.10 (x86_64-linux) (was 1.13.8) Fetching addressable 2.8.5 (was 2.8.0) Installing addressable 2.8.5 (was 2.8.0) Fetching get_process_mem 0.2.7 Installing get_process_mem 0.2.7 Fetching net-protocol 0.2.1 (was 0.1.3) Installing net-protocol 0.2.1 (was 0.1.3) Fetching rbpdf 1.20.1 Installing rbpdf 1.20.1 Fetching rqrcode 2.2.0 (was 2.1.2) Installing nokogiri 1.13.10 (x86_64-linux) (was 1.13.8) Installing rqrcode 2.2.0 (was 2.1.2) Fetching activesupport 6.1.6.1 Installing activesupport 6.1.6.1 Fetching css_parser 1.16.0 (was 1.11.0) Fetching net-imap 0.2.3 Installing css_parser 1.16.0 (was 1.11.0) Fetching net-pop 0.1.2 (was 0.1.1) Installing net-imap 0.2.3 Fetching net-smtp 0.3.3 (was 0.3.1) Installing net-pop 0.1.2 (was 0.1.1) Fetching globalid 1.2.1 (was 1.0.0) Installing net-smtp 0.3.3 (was 0.3.1) Fetching activemodel 6.1.6.1 Installing globalid 1.2.1 (was 1.0.0) Fetching rails-dom-testing 2.2.0 (was 2.0.3) Installing activemodel 6.1.6.1 Fetching loofah 2.21.4 (was 2.18.0) Installing rails-dom-testing 2.2.0 (was 2.0.3) Fetching html-pipeline 2.13.2 Installing loofah 2.21.4 (was 2.18.0) Installing html-pipeline 2.13.2 Fetching sanitize 6.1.0 (was 6.0.0) Fetching roadie 5.1.0 (was 5.0.1) Installing roadie 5.1.0 (was 5.0.1) Installing sanitize 6.1.0 (was 6.0.0) Fetching activejob 6.1.6.1 Fetching activerecord 6.1.6.1 Installing activejob 6.1.6.1 Fetching rails-html-sanitizer 1.5.0 (was 1.4.3) Installing activerecord 6.1.6.1 Installing rails-html-sanitizer 1.5.0 (was 1.4.3) Fetching deckar01-task_list 2.3.2 Installing deckar01-task_list 2.3.2 Fetching actionview 6.1.6.1 Fetching activerecord-compatible_legacy_migration 0.1.2 Installing activerecord-compatible_legacy_migration 0.1.2 Installing actionview 6.1.6.1 Fetching actionpack 6.1.6.1 Installing actionpack 6.1.6.1 Fetching actioncable 6.1.6.1 Fetching activestorage 6.1.6.1 Installing activestorage 6.1.6.1 Installing actioncable 6.1.6.1 Fetching actionmailer 6.1.6.1 Fetching railties 6.1.6.1 Installing actionmailer 6.1.6.1 Fetching sprockets-rails 3.4.2 Installing railties 6.1.6.1 Installing sprockets-rails 3.4.2 Fetching actionmailbox 6.1.6.1 Installing actionmailbox 6.1.6.1 Fetching actiontext 6.1.6.1 Fetching actionpack-xml_parser 2.0.1 Installing actiontext 6.1.6.1 Installing actionpack-xml_parser 2.0.1 Fetching roadie-rails 3.0.0 Fetching rails 6.1.6.1 Installing roadie-rails 3.0.0 Installing rails 6.1.6.1 Fetching unicorn 6.1.0 Installing unicorn 6.1.0 with native extensions Fetching unicorn-worker-killer 0.4.5 Installing unicorn-worker-killer 0.4.5 Bundle updated! Gems in the groups 'development' and 'test' were not updated. Post-install message from html-pipeline: ------------------------------------------------- Thank you for installing html-pipeline! You must bundle Filter gem dependencies. See html-pipeline README.md for more details. https://github.com/jch/html-pipeline#dependencies ------------------------------------------------- Post-install message from rubyzip: RubyZip 3.0 is coming! ********************** The public API of some Rubyzip classes has been modernized to use named parameters for optional arguments. Please check your usage of the following classes: * `Zip::File` * `Zip::Entry` * `Zip::InputStream` * `Zip::OutputStream` Please ensure that your Gemfiles and .gemspecs are suitably restrictive to avoid an unexpected breakage when 3.0 is released (e.g. ~> 2.3.0). See https://github.com/rubyzip/rubyzip for details. The Changelog also lists other enhancements and bugfixes that have been implemented since version 2.3.0.
Redmineのサーバー再起動¶
Ruby のバージョンアップの確認をするため、Unicornサーバーの再起動を行います。
サービスは、RedmineをCentOS 8上で動かすーUnicornとNginx編 で作成したものです。
~$ sudo systemctl restart redmine-unicorn ~$ sudo systemctl status redmine-unicorn ● redmine-unicorn.service - Redmine Unicorn Server Loaded: loaded (/usr/lib/systemd/system/redmine-unicorn.service; enabled; ve> Active: active (running) since Fri 2023-11-03 14:17:58 JST; 5s ago :
起動したRedmine上で、[管理]メニュー > [情報]でrubyバージョンを確認します。
Environment: Redmine version 5.0.2.stable Ruby version 3.1.2-p20 (2022-04-12) [x86_64-linux] Rails version 6.1.6.1
Redmineのバージョンアップ¶
現時点では、redmineのgitリポジトリから5.0-stableブランチをクローンした状態です。
今回、5.1-stableブランチに移行するので、移行方針として次の2つが考えられます。
- 新たにgitリポジトリからクローンする
- 現在のディレクトリのブランチを5.1-stableに切り替える
方法 | メリット | デメリット |
---|---|---|
新たにclone | 問題があった場合にすぐに前の環境に戻すことが容易 | 新規インストールと近い作業が必要 設定ファイル、プラグイン、テーマやソースコードに手を入れていたものを移行する必要 |
ブランチ切替 | 作業が簡単 | 切替に問題があったときに前のバージョンに戻すことが難 |
今回は作業が容易なブランチ切替で進めます。問題があった場合に前のバージョンに戻すために、ディレクトリをコピーして作業します。
~$ cd /var/lib lib$ sudo cp -pr redmine-5.0-stable redmine-5.1-stable lib$
Redmineのブランチを切り替え¶
まず、git checkoutコマンドで状況を確認します。修正中の未コミットファイルがあるとブランチ切替ができません。
redmine-5.1-stable$ git checkout 5.1-stable error: Your local changes to the following files would be overwritten by checkout: config.ru config/routes.rb Please commit your changes or stash them before you switch branches. Aborting
それぞれのファイルの差分を確認します。
- git diff config.ru
@@ -1,4 +1,11 @@
# This file is used by Rack-based servers to start the application.
+# Unicorn self-process killer
+require 'unicorn/worker_killer'
+# Max requests per worker
+use Unicorn::WorkerKiller::MaxRequests, 16384, 18432
+# Max memory size (RSS) per worker
+use Unicorn::WorkerKiller::Oom, (512*(1024**2)), (640*(1024**2))
+
require ::File.expand_path('../config/environment', __FILE__)
run Rails.application
- config/routes.rb
@@ -18,7 +18,7 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Rails.application.routes.draw do
- root :to => 'welcome#index', :as => 'home'
+ root :to => 'wiki#show', :project_id => 'swe', :as => 'home'
match 'login', :to => 'account#login', :as => 'signin', :via => [:get, :post]
match 'logout', :to => 'account#logout', :as => 'signout', :via => [:get, :post]
ローカルの変更を一時的にstashに保存します。
redmine-5.1-stable$ git stash save "5.0-stable changes" Saved working directory and index state On 5.0-stable: 5.0-stable changes
ブランチを切り替えます。
redmine-5.1-stable$ git checkout 5.1-stable branch '5.1-stable' set up to track 'origin/5.1-stable'. Switched to a new branch '5.1-stable'
切り替え後、更新を反映します。
redmine-5.1-stable$ git pull :
ローカルの修正(git stashしたもの)を反映します。
redmine-5.1-stable$ git stash pop Auto-merging config.ru CONFLICT (content): Merge conflict in config.ru Auto-merging config/routes.rb On branch 5.1-stable Your branch is up to date with 'origin/5.1-stable'. Changes to be committed: (use "git restore --staged <file>..." to unstage) modified: config/routes.rb Unmerged paths: (use "git restore --staged <file>..." to unstage) (use "git add <file>..." to mark resolution) both modified: config.ru Untracked files: (use "git add <file>..." to include in what will be committed) config/unicorn.rb public/_maintenance.html vendor/ The stash entry is kept in case you need it again.
config.ruファイルに競合が発生したので、手動で修正します。
# This file is used by Rack-based servers to start the application. # Unicorn self-process killer require 'unicorn/worker_killer' # Max requests per worker use Unicorn::WorkerKiller::MaxRequests, 16384, 18432 # Max memory size (RSS) per worker use Unicorn::WorkerKiller::Oom, (512*(1024**2)), (640*(1024**2)) require_relative 'config/environment' run Rails.application
git stash pop すると、stagingに上がってしまうので、git resetを実行してunstagingにしておきます。
Redmineが必要とするgemsモジュールの更新¶
redmine-5.1-stable$ bundle update Fetching gem metadata from https://rubygems.org/......... Resolving dependencies.................... Using rake 13.1.0 Using minitest 5.20.0 Using zeitwerk 2.6.12 Using builder 3.2.4 Using erubi 1.12.0 Using mini_portile2 2.8.5 Using racc 1.7.2 Using crass 1.0.6 Using rack 2.2.8 Using nio4r 2.5.9 Using websocket-extensions 0.1.5 Using marcel 1.0.2 Using mini_mime 1.1.5 Fetching date 3.3.3 Using timeout 0.4.0 Using method_source 1.0.0 Using thor 1.3.0 Using public_suffix 5.0.3 Using bundler 2.3.7 Using chunky_png 1.4.0 Fetching commonmarker 0.23.10 (was 0.23.4) Using concurrent-ruby 1.2.2 Using csv 3.2.7 Using ffi 1.16.3 Using htmlentities 4.3.4 Using kgio 2.11.4 Fetching mini_magick 4.12.0 (was 4.11.0) Installing mini_magick 4.12.0 (was 4.11.0) Installing date 3.3.3 with native extensions Installing commonmarker 0.23.10 (was 0.23.4) with native extensions Using mysql2 0.5.5 Using net-ldap 0.17.1 Using raindrops 0.20.1 Using rbpdf-font 1.19.1 Fetching redcarpet 3.6.0 (was 3.5.1) Installing redcarpet 3.6.0 (was 3.5.1) with native extensions Using rexml 3.2.6 Using rotp 6.3.0 Fetching rouge 4.2.0 (was 3.28.0) Installing rouge 4.2.0 (was 3.28.0) Using rqrcode_core 1.2.0 Using rubyzip 2.3.2 Fetching i18n 1.14.1 (was 1.10.0) Installing i18n 1.14.1 (was 1.10.0) Using tzinfo 2.0.6 Fetching nokogiri 1.15.4 (x86_64-linux) (was 1.13.10) Installing nokogiri 1.15.4 (x86_64-linux) (was 1.13.10) Using rack-test 2.1.0 Using websocket-driver 0.7.6 Using net-protocol 0.2.1 Using addressable 2.8.5 Using get_process_mem 0.2.7 Using sprockets 4.2.1 Using request_store 1.5.1 Using unicorn 6.1.0 Fetching rbpdf 1.21.3 (was 1.20.1) Installing rbpdf 1.21.3 (was 1.20.1) Using rqrcode 2.2.0 Fetching activesupport 6.1.7.6 (was 6.1.6.1) Installing activesupport 6.1.7.6 (was 6.1.6.1) Using loofah 2.21.4 Using net-pop 0.1.2 Using net-smtp 0.3.3 Using css_parser 1.16.0 Using sanitize 6.1.0 Using unicorn-worker-killer 0.4.5 Using rails-dom-testing 2.2.0 Fetching rails-html-sanitizer 1.6.0 (was 1.5.0) Installing rails-html-sanitizer 1.6.0 (was 1.5.0) Using globalid 1.2.1 Fetching activemodel 6.1.7.6 (was 6.1.6.1) Installing activemodel 6.1.7.6 (was 6.1.6.1) Using html-pipeline 2.13.2 Fetching roadie 5.2.0 (was 5.1.0) Installing roadie 5.2.0 (was 5.1.0) Fetching actionview 6.1.7.6 (was 6.1.6.1) Installing actionview 6.1.7.6 (was 6.1.6.1) Fetching activejob 6.1.7.6 (was 6.1.6.1) Installing activejob 6.1.7.6 (was 6.1.6.1) Fetching activerecord 6.1.7.6 (was 6.1.6.1) Installing activerecord 6.1.7.6 (was 6.1.6.1) Using deckar01-task_list 2.3.2 Fetching actionpack 6.1.7.6 (was 6.1.6.1) Installing actionpack 6.1.7.6 (was 6.1.6.1) Using activerecord-compatible_legacy_migration 0.1.2 Fetching actioncable 6.1.7.6 (was 6.1.6.1) Installing actioncable 6.1.7.6 (was 6.1.6.1) Fetching activestorage 6.1.7.6 (was 6.1.6.1) Installing activestorage 6.1.7.6 (was 6.1.6.1) Fetching railties 6.1.7.6 (was 6.1.6.1) Installing railties 6.1.7.6 (was 6.1.6.1) Using sprockets-rails 3.4.2 Fetching actiontext 6.1.7.6 (was 6.1.6.1) Installing actiontext 6.1.7.6 (was 6.1.6.1) Using actionpack-xml_parser 2.0.1 Fetching roadie-rails 3.1.0 (was 3.0.0) Installing roadie-rails 3.1.0 (was 3.0.0) Fetching net-imap 0.3.7 (was 0.2.3) Installing net-imap 0.3.7 (was 0.2.3) Fetching mail 2.8.1 (was 2.7.1) Installing mail 2.8.1 (was 2.7.1) Fetching actionmailbox 6.1.7.6 (was 6.1.6.1) Fetching actionmailer 6.1.7.6 (was 6.1.6.1) Installing actionmailbox 6.1.7.6 (was 6.1.6.1) Installing actionmailer 6.1.7.6 (was 6.1.6.1) Fetching rails 6.1.7.6 (was 6.1.6.1) Installing rails 6.1.7.6 (was 6.1.6.1) Bundle updated! Gems in the groups 'development' and 'test' were not updated.
DBマイグレーション実施¶
redmine-5.1-stable$ bundle exec rails db:migrate RAILS_ENV=production :
redmine-5.1-stable$ bundle exec rails tmp:clear RAILS_ENV=production
Unicorn起動スクリプトの修正¶
- /usr/lib/systemd/system/redmine-unicorn.service
- WorkingDirectory=/var/lib/redmine-5.0-stable
+ WorkingDirectory=/var/lib/redmine-5.1-stable
- PIDFile=/var/lib/redmine-5.0-stable/tmp/pids/unicorn.pid
+ PIDFile=/var/lib/redmine-5.1-stable/tmp/pids/unicorn.pid
systemctlの定義ファイルを修正したら次を実施
$ sudo systemctl daemon-reload
/var/lib/redmine シンボリックリンク修正¶
lib$ ls -l redmine lrwxrwxrwx. 1 root root 18 4月 26 2022 redmine -> redmine-5.0-stable lib$ sudo rm redmine lib$ sudo ln -s redmine-5.1-stable redmine lib$ ls -l redmine lrwxrwxrwx. 1 root root 18 11月 3 17:44 redmine -> redmine-5.1-stable
トラブルシュート¶
バージョンアップ¶
bundle updateでpsynchをインストール時にエラー¶
: current directory: /var/lib/redmine-master/vendor/bundler/ruby/3.1.0/gems/psych-5.1.2/ext/psych /usr/bin/ruby -I /usr/share/rubygems extconf.rb checking for yaml.h... no yaml.h not found *** extconf.rb failed *** : An error occurred while installing psych (5.1.2), and Bundler cannot continue.
- yaml.h は、libyaml-develパッケージに含まれるが、CentOS 8/Rocky Linux 8のデフォルトのリポジトリには存在しない
→ PowerTools-repository に含まれる(/etc/yum.repos.d/Rocky-PowerTools.repo)
$ sudo dnf config-manager --set-enabled powertools $ sudo dnf install libyaml-devel