en
Jazyk
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI překlad
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Aktualizace na verzi 11

Úvod

Tato příručka je určena pro Server správci. mrak uživatelé se mohou uvolnit, zvednout nohy a nechat všechny tyto operace na nás.

Verze 11 je ve srovnání s předchozími verzemi významným technologickým skokem. Upgrade na tuto verzi vyžaduje trochu více přípravy než běžný upgrade, aby se předešlo jakýmkoli rozrušením. Zvažte tuto příručku jako kontrolní seznam pro hladký přechod.

Nejdůležitější změny v technologickém zásobníku jsou vysvětleny v souboru Poznámky k vydání. Obsahuje také důležité funkční změny a informace o pluginu. Pokud jste to ještě neučinili, přečtěte si je nejprve.

Snadné virtuální stroje na záchranu!

Některé z následujících bodů se na vás mohou vztahovat a společné úsilí může vypadat více, než jste ochotni snášet. V takovém případě existuje vždy snadná možnost získání plně nainstalované aplikace VMware/VirtualBox obrázek (formát .ova). Stačí se zeptat naší podpory, která vám vygeneruje virtuální počítač a případně dokonce zajistí migraci dat z vašeho stávajícího systému. Jako odměnu za takové rozhodnutí nemusíte číst zbytek tohoto článku :)

Užitečné zdroje

Pokyny pro většinu kroků jsou již zveřejněny na našich webových stránkách a/nebo znalostní bázi. Nebudeme je všechny kopírovat do tohoto jediného článku. Zde spíše přidáme potřebný kontext a poskytneme odkazy na podrobné pokyny k těmto konkrétním operacím.

Příběh upgradu modelu

Než podrobně rozebereme každou komponentu, ukážeme modelový příklad upgradu, zatímco zůstaneme na stejném serveru.

Stávající server

  • Easy VM s Easy Redmine verze 10.10.1
  • rubín -v = 2.5.3
  • mysql --verze = 5.7.31
  • redis-server --verze = 5.0.3
  • seznam drahokamů | grep bundler = 1.16.6
  • uzel -v (neexistuje)
  • aplikační server puma
  • webový server nginx

Vzhledem k tomu, že jde o VM poskytovaný společností Easy, umožňuje velké prostředí (OS, databáze) upgrade na stejném serveru. Některé komponenty jsou v pořádku, jak jsou (mysql, redis-server, puma, nginx), některé vyžadují upgrade (ruby, bundler), jeden požadavek zcela chybí (Node.js).

Kroky

0) Stáhněte si a nainstalujte nejnovější verzi LTS (10.14.x) - upgrade je možný pouze z LTS.

1) Začněme upgradem na ruby
rvm install ruby 2.6.7 --patch railsexpress

(počkejte, až bude nainstalován nový rubín, může vás požádat o heslo sudo)

rvm use ruby-2.6.7 --default

2) Doporučujeme odinstalovat předchozí rubínovou verzi, aby se předešlo možným kolizím
rvm remove ruby-2.5.3

Tento příkaz odinstaluje ruby ​​se všemi drahokamy a dalšími soubory. Je to lepší než používání rvm uninstall příkaz.

3) Nyní musíme znovu nainstalovat všechny potřebné drahokamy pro aplikaci. Začínáme s bundlerem
gem install bundler

Podívejme se, který bundler byl nainstalován
gem list | grep bundler

Mělo by vrátit řádek jako
bundler (2.1.4, 2.1.2)

Ujistěte se, že existuje verze vyšší než 2.2.16

4) Nyní přejděte na /home/easy/your.vm.name
cd /home/easy/your.vm.name

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

A zkontrolujte, zda má správnou verzi
node -v

Mělo by to vrátit něco podobného
v14.16.0

Zkontrolujte, zda je vaše verze 14.16 nebo vyšší.

6) Stáhněte si balíček v11 z klientské zóny, zkopírujte jej do svého virtuálního počítače.

7) Zastavte server puma
sudo systemctl stop puma@your.domain.name

Od tohoto bodu si můžete vybrat, zda chcete pokračovat s automatickým postupem nebo s manuálním upgradem.

a) Automatický upgrade (doporučeno)
8a) Spusťte upgrade pomocí instalačního programu redmine
redmine upgrade name_of_package

9a) Postupujte podle pokynů v průvodci.

b) Ruční upgrade
8b) Přejmenujte svůj aktuální adresář/ složku
mv current/ current_old/

9b) Znovu vytvořte aktuální složku
mkdir current

10b) Přejděte do aktuální složky
cd current/

11b) Rozbalte balíček zde
unzip /path/to/downloaded/package.zip

12b) Nainstalujte drahokamy
bundle install

13b) Spusťte migraci
bundle exec rake easyproject:install RAILS_ENV=production

14b) Pokud je vše v pořádku, začněte s pumou zpět
sudo systemctl start puma@your.domain.name

Kontrolní seznam specifikací

Operační systém

Od verze 11 je jediným podporovaným operačním systémem (kde aplikace běží přímo) Debian, zejména 10 (Buster) a 11 (Bullseye).

Pokud používáte Easy Redmine na našich poskytovaných virtuálních počítačích, pravděpodobně jste již tento požadavek pokryli. Pokud máte nepodporovaný operační systém, musíte provést migraci na nový server (nejlépe náš virtuální počítač). Přeinstalování nebo upgrade OS pod produkční aplikací rozhodně není ve vašem nejlepším zájmu.

Databázový server

Budete muset použít Percona/MySQL 5.7+. Existují zhruba tři případy:

Rubín

Jazyk za aplikací je třeba udržovat aktuální, například jazyk, kterým lidé komunikují. Je popsán upgrade Ruby zde. Pokud váš stávající Ruby není velmi starý, můžete pokračovat na stejném serveru.

Bundler

Prakticky klenot pro správu drahokamů. Protože Easy Redmine jich používá více než 200, je bundler zásadní součástí.

Chcete-li nainstalovat
gem install bundler

K ověření verze
gem list | grep bundler

Verze 2.2.x by se měla nainstalovat automaticky. Pokud tomu tak není, postupujte podle oficiální dokumentace.

Redestilát

K zefektivnění některých nových funkcí a vylepšení výkonu ve verzi 11 používáme Sidekiq s redis-serverem. Snadné virtuální počítače již tyto komponenty obsahují. Dávejte pozor na verzi, ER11 vyžaduje redis-server 5+.

Zde je výňatek z hlavní instalační příručky umístěné ve vašem balíček v11 pod doc/INSTALL_DEBIAN

  1. Nastavit redis a sidekiq

Snadné přepnutí na uživatele.

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

pokud Rails.env.production? config.active_job.queue_adapter =: vedlejší

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}

konec

Sidekiq.configure_client do | config | config.redis = {url: redis_url, namespace: redis_namespace}

konec konec

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

: verbose: false: pidfile: ../sidekiq.pid: logfile: ./log/sidekiq.log: souběžnost: <%= ENV ["SIDEKIQ_WORKERS"] || 2 %>: fronty:

  • kritický
  • standardní
  • přepočítat_vlastní_pole
  • easy_git
  • easy_action
  • easy_mail_campaigns
  • snadné_integrace
  • poštovní doručovatelé
  • easy_rake_tasks
  • nízký

Node.js

Nakonec poslední zásadní požadavek. Instalace je poměrně jednoduchá

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

Ujistěte se, že máte verzi 14.16. Oficiální dokumentace k dispozici zde.

WebSockets

I když to není přísný požadavek, který blokuje spuštění aplikace, dvě funkce používají tuto technologii (zobrazení živého stavu online/offline v avataru uživatele; oznámení v aplikaci o dokončeném exportu). V budoucnu bude rozšířen.

Je třeba povolit Action Cable. Záleží na Redisovi. Pokud chcete tyto funkce používat, ale nejste obeznámeni s konfigurací Redis/ActionCable, doporučujeme migraci na nový virtuální počítač, kde jsou tyto předkonfigurovány.

Vynucený protokol HTTPS

Verze 11 vynucuje protokol HTTPS adresy URL aplikace. Zkontrolujte prosím konfiguraci webového serveru (nginx), abyste se ujistili, že vaše aplikace bude přístupná přes https://[easyredmine_url] z vašeho webového prohlížeče nebo z jakékoli integrace, která se připojuje k vašemu Easy Redmine. Adresy URL http://[easyredmine_url] nebudou ve verzi 11 fungovat!

Konec sub-uri

Jelikož front-end dostává pokročilá vylepšení, není již možné nadále podporovat konfigurace sub-uri. Tento druh konfigurace je citlivý na komponenty Javascriptu a často způsobuje nefunkčnost. Překonfigurujte server na běžnou doménu.

Po upgradu

Migrace textů/textových značek

Jak je napsáno v Poznámky k vydání upustili jsme od podpory různých textových editorů. Pokud jste dříve používali textilní nebo markdown textové úpravy, budete muset spustit migraci formátovaných textů do HTML pomocí příslušného příkazu z nich.

Nejprve zkontrolujte své nedávné formátování textu pomocí:

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

Pokud se jedná o Textil, použijte tento příkaz:

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

nebo toto, pokud je formátování textu Markdown:

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

A pokud byla migrace úspěšná, přepněte formátování textu na HTML nakonec pomocí:

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

Pro úplné uplatnění změn restartujte webový server.

Vyzkoušejte Easy Redmine ve 30denní bezplatné zkušební verzi

Plné funkce, chráněné SSL, denní zálohy ve vaší geolokaci