en
Език
  • en
  • cs
  • hu
  • it
  • es
  • fr
  • de
  • ru
Машинен превод
  • bg
  • dk
  • nl
  • gr
  • il
  • jp
  • kr
  • Не.
  • pl
  • tr

Надстройка до версия 11

Въведение

Това ръководство е предназначено за Сървър администратори. облак потребителите могат да се отпуснат, да вдигнат краката си и да оставят всички тези операции на нас.

Версия 11 е значителен технологичен скок в сравнение с предишните версии. Надстройката до тази версия изисква малко повече подготовка, отколкото обикновената надстройка, за да се избегнат всякакви неприятности. Считайте това ръководство за контролен списък за плавен преход.

Най -важните промени в технологичния стек са обяснени в Бележки към изданието. Той също така съдържа важни функционални промени и информация за плъгини. Ако още не сте го направили, първо ги прочетете.

Лесни виртуални машини на помощ!

Някои от следните точки може да се отнасят за вас и комбинираните усилия може да изглеждат повече, отколкото сте готови да понесете. В такъв случай винаги има лесна възможност да включите напълно инсталирано приложение VMware/VirtualBox изображение (.ova формат). Просто попитайте нашата поддръжка, която ще генерира виртуална машина за вас и евентуално дори ще организира миграцията на данни от съществуващата ви система. Като награда за такова решение не е нужно да четете останалата част от тази статия :)

Полезни ресурси

Инструкциите за повечето от стъпките вече са публикувани в базата знания и директно в инсталационния пакет (doc/INSTALL_DEBIAN). Няма да копираме всички тях в тази една статия. По -скоро ще добавим необходимия контекст тук и ще се съсредоточим върху значителните промени.

История за надграждане на модела

Преди да разгледаме всеки компонент в детайли, ще покажем модел на пример за надстройка, като останем на същия сървър.

Съществуващ сървър

  • Easy VM с Easy Project версия 10.10.1
  • рубин -v = 2.5.3
  • mysql --версия = 5.7.31
  • redis-сървър --версия = 5.0.3
  • списък със скъпоценни камъни | grep bundler = 1.16.6
  • възел -v (несъществуващ)
  • сървър за приложения puma
  • уеб сървър nginx

Тъй като това е виртуална машина, предоставена от Easy, голяма среда (операционна система, база данни) позволява надграждане на същия сървър. Някои компоненти са добре такива, каквито са (mysql, redis-server, puma, nginx), някои изискват надстройка (ruby, bundler), едно изискване напълно липсва (Node.js).

Стъпки

0) Изтеглете и инсталирайте най-новата версия на LTS (10.14.x) - надстройката е възможна само от LTS.

1) Нека започнем с ъпгрейд на рубин
rvm install ruby 2.6.7 --patch railsexpress

(изчакайте, докато се инсталира нов рубин, може да ви поиска парола за sudo)

rvm use ruby-2.6.7 --default

2) Препоръчваме да деинсталирате предишната версия на рубин, за да избегнете евентуални сблъсъци
rvm remove ruby-2.5.3

Тази команда ще деинсталира ruby ​​с всички скъпоценни камъни и други файлове. По -добре е от използването rvm uninstall команда.

3) Сега трябва да преинсталираме всички необходими скъпоценни камъни за приложение. Започваме с пакетиране
gem install bundler

Нека проверим кой пакет е инсталиран
gem list | grep bundler

Той трябва да върне ред като
bundler (2.1.4, 2.1.2)

Уверете се, че има версия по -висока от 2.2.16

4) Сега, моля, отидете на /home/easy/your.vm.name
cd /home/easy/your.vm.name

5) Инсталирайте nodejs
sudo apt update
sudo apt upgrade
curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
sudo apt install nodejs

И проверете дали има правилната версия
node -v

Трябва да върне нещо подобно
v14.16.0

Уверете се, че вашата версия е 14.16 или по -нова.

6) Изтеглете пакет v11 пакет от клиентската зона, копирайте го във вашата виртуална машина.

7) Спрете сървъра на puma
sudo systemctl stop puma@your.domain.name

От този момент можете да изберете дали искате да продължите с автоматична процедура или с ръчно надстройване.

а) Автоматично надстройване (Препоръчително)
8a) Стартирайте надстройката чрез инсталатора на redmine
redmine upgrade name_of_package

9a) Следвайте стъпките в съветника.

б) Ръчно надстройване
8б) Преименувайте скорошния си текущ/ папка
mv current/ current_old/

9б) Пресъздайте текущата папка
mkdir current

10б) Отидете на текущата папка
cd current/

11б) Разопаковайте пакета тук
unzip /path/to/downloaded/package.zip

12б) Инсталирайте скъпоценни камъни
bundle install

13б) Изпълнете миграции
bundle exec rake easyproject:install RAILS_ENV=production

14б) Ако всичко е наред, стартирайте puma обратно
sudo systemctl start puma@your.domain.name

Контролен списък със спецификации

Операционна система

От версия 11 единствената поддържана операционна система (където приложението работи директно) е Debian, по -специално 10 (Buster) и 11 (Bullseye).

Ако използвате Easy Project на предоставените от нас виртуални машини, най -вероятно вече сте покрили това изискване. Ако имате неподдържана операционна система, трябва да мигрирате към нов сървър (за предпочитане нашата виртуална машина). Преинсталирането или надграждането на ОС под производствено приложение определено не е във ваш интерес.

Сървър на база данни

Ще трябва да използвате Percona/MySQL 5.7+. Има приблизително три случая:

  • Имате по -стара версия на Percona -> надграждане чрез официални инструкции, като напр
    https://www.percona.com/doc/percona-server/5.7/upgrading_guide_56_57.html
  • Имате различна MySQL дистрибуция (като MariaDB) -> препоръчваме да мигрирате към нов сървър (за предпочитане нашата виртуална машина).
  • Имате PostgreSQL -> препоръчваме да мигрирате към нов сървър (за предпочитане нашата VM). Преди самата миграция, базата данни трябва да бъде преобразувана. Тествахме различни инструменти за преобразуване и предостави инструкции за най -подходящите. Ние също сме готови да извършим преобразуването вместо вас.

Рубин

Езикът зад приложението трябва да бъде актуализиран, като например езикът, с който хората общуват. Описано е надграждането на Ruby тук. Освен ако вашият съществуващ Ruby не е много стар, можете да продължите на същия сървър.

Пакет

Рубинен скъпоценен камък за управление на рубинени скъпоценни камъни. Тъй като Easy Project използва повече от 200 от тях, пакетът е важен компонент.

За да инсталирате
gem install bundler

За да проверите версията
gem list | grep bundler

Версия 2.2.x трябва да се инсталира автоматично. В случай, че не е така, моля, следвайте официална документация.

Redis

За да оптимизираме някои от новите функции и подобрения на производителността във v11, използваме Sidekiq с redis-сървър. Лесните виртуални машини вече съдържат тези компоненти. Внимавайте за версията, ER11 изисква redis-server 5+.

Ето откъс от основното ръководство за инсталиране, намиращо се във вашия v11 пакет под doc/INSTALL_DEBIAN

  1. Настройка на redis и sidekiq

Лесно превключване към потребител.

vim /home/easy/current/config/additional_environment.rb

ако Rails.env.production? config.active_job.queue_adapter =: sidekiq

redis_namespace = Rails.root.join (".."). basename.to_s redis_url = "redis: //#{ENV ["REDIS_HOST"] || "127.0.0.1"}:#{ENV ["REDIS_PORT"] || 6379}/1 "Sidekiq.configure_server do | config | config.redis = {url: redis_url, namespace: redis_namespace}

край

Sidekiq.configure_client do | config | config.redis = {url: redis_url, пространство от имена: redis_namespace}

край край

vim /home/easy/current/config/sidekiq.rb

: verbose: false: pidfile: ../sidekiq.pid: logfile: ./log/sidekiq.log: concurrency: <%= ENV ["SIDEKIQ_WORKERS"] || 2 %>: опашки:

  • критичен
  • подразбиране
  • преизчислете_потребителски_полета
  • easy_git
  • лесни_ действия
  • easy_mail_campaigns
  • лесни_интеграции
  • експедитор
  • easy_rake_tasks
  • ниско

Node.js

И накрая, последното основно изискване. Инсталацията е доста проста

sudo apt update
sudo apt upgrade
curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
sudo apt install nodejs

Уверете се, че имате версия 14.16. Налична документация тук.

WebSockets

Въпреки че не е строго изискване, което блокира изпълнението на приложението, две функции използват тази технология (показване на живо онлайн/офлайн състояние в аватара на потребителя; известие в приложението за завършен експортиране). В бъдеще тя ще бъде разширена.

Action Cable трябва да бъде активиран. Зависи от Redis. Ако искате да използвате тези функции, но не сте запознати с конфигурацията на Redis/ActionCable, препоръчваме да мигрирате към нова виртуална машина, където те са предварително конфигурирани.

Наложен HTTPS протокол

Версия 11 налага HTTPS протокола на URL адреса на приложението. Моля, проверете конфигурацията на уеб сървъра (nginx), за да сте сигурни, че приложението ви ще бъде достъпно чрез https://[easyproject_url] от вашия уеб браузър или от всякакви интеграции, които се свързват с вашия Easy Project. URL адресите http://[easyproject_url] няма да работят във v11!

Край на sub-uri

Тъй като предният край получава разширени подобрения, вече не е възможно да се поддържа поддръжката sub-uri конфигурация. Този вид конфигурация е чувствителна към компонентите на Javascript и често причинява неизправност. Моля, конфигурирайте отново вашия сървър към обикновен домейн.

След надстройка

Миграция на текстилни/Markdown текстове

Както е написано на бележки към изданието отказахме поддръжката на различни текстови редактори. Ако преди сте използвали текстилно редактиране или маркиране на текст, ще трябва да стартирате миграцията на форматирани текстове към HTML, като използвате съответната команда от тях.

Моля, първо проверете скорошното си форматиране на текст с:

bundle exec rails r -e production "puts Setting.text_formatting"

Ако е текстил, моля, използвайте тази команда:

bundle exec rake easyproject:textile:migrate_all source_formatting=textile RAILS_ENV=production

или това, ако форматирането на текст е Markdown:

bundle exec rake easyproject:textile:migrate_all source_formatting=markdown RAILS_ENV=production

И ако миграцията е била успешна, накрая превключете форматирането на текста си към HTML с:

bundle exec rails r -e production "puts Setting.text_formatting = 'HTML'"

Рестартирайте уеб сървъра, за да приложите изцяло промените.

Опитайте Easy Project за 30 дни безплатен пробен период

Пълни функции, SSL защитени, ежедневни архиви, във вашето геолокация