Рассмотрим с вами обновление Redmine. В статье рассмотрим обновление версии 6.0.7 на 6.1.0.

Обратите внимание, что в процессе установки, настройки и эксплуатации Redmine вы создаёте различные файлы в служебном каталоге. Перед обновлением важно вспомнить, какие именно файлы вы добавляли или изменяли, поскольку их нужно будет перенести в новую версию. Если вы устанавливали Redmine строго по статье «Установка Redmine на Linux» и не вносили дополнительных изменений, то можете смело следовать всем шагам, описанным в текущей статье.

Авторизуйтесь под учётной записью redmine, поскольку система запускается и работает от её имени. Если в вашей конфигурации используется другая учётная запись, выполните вход под тем пользователем, от которого работает Redmine.

Создание резервных копий

Остановить сервисы:

# У вас могут называться по другому, delayed-job - сервис очередей, у вас может быть другой
sudo systemctl stop puma-redmine
sudo systemctl stop delayed-job-redmine

Создайте резервную копию базы данных. Процесс описывать не буду.

Создаём резервную копию каталога приложения:

# redminesoft - каталог в котором располагается мой экземпляр Redmine
cp -a /home/redmine/redminesoft /home/redmine/redminesoft-backup

# удаляем оригинал
rm -rf /home/redmine/redminesoft

Скачивание Redmine

# жирным выделил моменты, которые возможно вам стоит поправить
cd /home/redmine
# скачать
wget https://www.redmine.org/releases/redmine-6.1.0.zip
# распаковать
unzip /home/redmine/redmine-6.1.0.zip -d /home/redmine
# переименовать обязательно, чтобы имя было прежним, иначе придётся править не один файл запуска сервисов указывая в них название нового каталога
mv /home/redmine/redmine-6.1.0 /home/redmine/redminesoft

Перенос данных в новый экземпляр

cd /home/redmine/redminesoft

# подключение к базе данных
cp /home/redmine/redminesoft-backup/config/database.yml config/

# основной файл конфигурации, если вы его создавали
cp /home/redmine/redminesoft-backup/config/configuration.yml config/

# это файл мной создавался для delayed_job, но там вы могли и для других целей вносить данные
cp /home/redmine/redminesoft-backup/config/additional_environment.rb config/

# возможно должен быть у всех
cp /home/redmine/redminesoft-backup/config/puma.rb config/

# это для delayed_job
cp /home/redmine/redminesoft-backup/config/initializers/delayed_job_logger.rb config/initializers/

# возможно должен быть у всех
cp /home/redmine/redminesoft-backup/Gemfile.local .

# должен быть у всех
cp /home/redmine/redminesoft-backup/config/initializers/secret_token.rb config/initializers/

# для delayed_job
cp /home/redmine/redminesoft-backup/bin/delayed_job bin/
chmod +x bin/delayed_job

# плагины
cp -a /home/redmine/redminesoft-backup/plugins .

# файлы вложений к задачам
cp -a /home/redmine/redminesoft-backup/files .

# темы
cp -a /home/redmine/redminesoft-backup/themes .

# если используются репозитории
cp -a /home/redmine/redminesoft-backup/repositories .

# вспоминайте, что ещё создавали и правили
...

Донастройка Redmine

# устанавливаем зависимости
bundle install --without development test

# обновляем базу данных
bundle exec rake db:migrate RAILS_ENV=production

# компиляция ассетов
bundle exec rake redmine:plugins RAILS_ENV=production
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
bundle exec rake assets:precompile RAILS_ENV=production

Запуск служб

# запуск остановленных ранее служб
sudo systemctl start redmine-delayed-job
sudo systemctl restart puma-redmine

Проверка

Идём в Redmine в раздел Администрирование — Информация и убеждаемся, что версия обновилась.