en
Språk
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI-översättning
  • ee
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Uppgradering till version 11

Beskrivning

Denna guide är avsedd för server administratörer. cloud användare kan slappna av, sätta upp fötterna och lämna alla dessa operationer åt oss.

Version 11 är ett betydande tekniskt språng jämfört med tidigare versioner. Uppgradering till den här versionen kräver lite mer förberedelse än en vanlig uppgradering för att undvika störningar. Betrakta den här guiden som en checklista för en smidig övergång.

De viktigaste förändringarna i den tekniska stacken förklaras i Release anteckningar. Den innehåller också viktiga funktionsändringar och plugininformation. Om du inte redan har gjort det, läs dem först.

Enkla virtuella maskiner till undsättning!

Några av följande punkter kan gälla dig och den kombinerade ansträngningen att verka mer än du är villig att uthärda. I sådana fall finns det alltid det enkla alternativet att få ett fullt installerat program på VMware/VirtualBox bild (.ova -format). Fråga bara vår support, som kommer att generera en virtuell dator åt dig och eventuellt till och med ordna datamigrering från ditt befintliga system. Som belöning för ett sådant beslut behöver du inte läsa resten av den här artikeln :)

Användbara resurser

Instruktioner för de flesta stegen är redan publicerade på våra webbplatser och/eller kunskapsbas. Vi kommer inte att kopiera dem alla till den här artikeln. Vi lägger hellre till det nödvändiga sammanhanget här och ger länkar till de detaljerade instruktionerna för de specifika operationerna.

Modell uppgradering historia

Innan vi detaljerar varje komponent kommer vi att visa ett modellexempel på en uppgradering medan vi finns kvar på samma server.

Befintlig server

  • Lätt VM med Easy Redmine version 10.10.1
  • rubin -v = 2.5.3
  • mysql --version = 5.7.31
  • redis-server --version = 5.0.3
  • pärla lista | grep bundler = 1.16.6
  • nod -v (obefintlig)
  • puma applikationsserver
  • nginx webbserver

Eftersom det är en virtuell dator som tillhandahålls av Easy, tillåter stor miljö (OS, databas) uppgradering på samma server. Vissa komponenter är bra som de är (mysql, redis-server, puma, nginx), vissa kräver uppgradering (rubin, bundler), ett krav saknas helt (Node.js).

Steg

0) Ladda ner och installera den senaste LTS-versionen (10.14.x) - uppgradering är endast möjlig från LTS.

1) Låt oss börja med rubinuppgradering
rvm install ruby 2.6.7 --patch railsexpress

(vänta tills ny rubin är installerad, det kan fråga dig om sudo -lösenord)

rvm use ruby-2.6.7 --default

2) Vi rekommenderar att du avinstallerar tidigare rubinversion för att undvika eventuella kollisioner
rvm remove ruby-2.5.3

Detta kommando kommer att avinstallera rubin med alla ädelstenar och andra filer. Det är bättre än att använda rvm uninstall kommando.

3) Nu måste vi installera om alla nödvändiga pärlor för applikationen. Vi börjar med buntare
gem install bundler

Låt oss kontrollera vilket paket som installerades
gem list | grep bundler

Det borde returnera en rad som
bundler (2.1.4, 2.1.2)

Se till att versionen är högre än 2.2.16

4) Gå nu till /home/easy/your.vm.name
cd /home/easy/your.vm.name

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

Och kontrollera att den har rätt version
node -v

Det borde returnera något liknande
v14.16.0

Se till att din version är 14.16 eller högre.

6) Ladda ner paket v11 -paket från klientzonen, kopiera det till din virtuella dator.

7) Stoppa pumaservern
sudo systemctl stop puma@your.domain.name

Från denna punkt kan du välja om du vill fortsätta med automatisk procedur eller med manuell uppgradering.

a) Automatisk uppgradering (rekommenderad)
8a) Kör uppgradering via redmine -installationsprogrammet
redmine upgrade name_of_package

9a) Följ stegen i guiden.

b) Manuell uppgradering
8b) Byt namn på din senaste ström/ mapp
mv current/ current_old/

9b) Återskapa aktuell mapp
mkdir current

10b) Gå till den aktuella mappen
cd current/

11b) Packa upp paketet här
unzip /path/to/downloaded/package.zip

12b) Installera pärlor
bundle install

13b) Kör migreringar
bundle exec rake easyproject:install RAILS_ENV=production

14b) Om allt är ok, starta puma tillbaka
sudo systemctl start puma@your.domain.name

Specifikationer checklista

Operativsystem

Från version 11 är det enda operativsystem som stöds (där programmet körs direkt) Debian, särskilt 10 (Buster) och 11 (Bullseye).

Om du kör Easy Redmine på våra tillhandahållna virtuella datorer har du troligen redan detta krav täckt. Om du har ett operativsystem som inte stöds måste du migrera till en ny server (helst vår virtuella dator). Att installera om eller uppgradera operativsystemet under en produktionsapplikation är definitivt inte i ditt bästa intresse.

Databasserver

Du måste använda Percona/MySQL 5.7+. Det finns ungefär tre fall:

  • Du har en äldre Percona -version -> uppgradering via officiella instruktioner, t.ex.
    https://www.percona.com/doc/percona-server/5.7/upgrading_guide_56_57.html
  • Du har en annan MySQL -distribution (t.ex. MariaDB) -> vi rekommenderar att du migrerar till en ny server (helst vår virtuella dator).
  • Du har PostgreSQL -> vi rekommenderar att du migrerar till en ny server (helst vår virtuella dator). Innan själva migrationen måste databasen konverteras. Vi testade olika konverteringsverktyg och gav instruktioner för de mest lämpliga. Vi är också redo att utföra konverteringen åt dig.

Rubin

Språket bakom applikationen måste hållas uppdaterat, till exempel det språk som människor kommunicerar med. Uppgradering av Ruby beskrivs här. Om din befintliga Ruby inte är mycket gammal kan du fortsätta på samma server.

Samlare

Praktiskt taget en pärla för att hantera pärlor. Eftersom Easy Redmine använder mer än 200 av dessa är paketet en avgörande komponent.

Så här installerar du
gem install bundler

För att verifiera versionen
gem list | grep bundler

Version 2.2.x bör installeras automatiskt. Om det inte gör det, följ officiell dokumentation.

Redis

För att effektivisera några av de nya funktionerna och prestandaförbättringarna i v11 använder vi Sidekiq med redis-server. Enkla virtuella datorer innehåller redan dessa komponenter. Var försiktig med versionen, ER11 kräver redis-server 5+.

Här är ett utdrag från huvudinstallationsguiden i din v11 -paket under doc/INSTALL_DEBIAN

  1. Installera redis och sidekiq

Byt till användare enkelt.

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

om Rails.env.produktion? 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, namnrymd: redis_namespace}

änden

Sidekiq.configure_client do | config | config.redis = {url: redis_url, namnområde: redis_namespace}

slutet slut

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

: verbose: false: pidfile: ../sidekiq.pid: logfile: ./log/sidekiq.log: samtidighet: <%= ENV ["SIDEKIQ_WORKERS"] || 2 %>: köer:

  • kritisk
  • standard
  • beräkna_anpassade_fält
  • lätt_git
  • lätta_åtgärder
  • easy_mail_campaigs
  • enkla_integrationer
  • mailare
  • lätta_rake_tasks
  • låg

node.js

Slutligen det sista stora kravet. Installationen är ganska enkel

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

Se till att du har version 14.16. Officiell dokumentation tillgänglig här.

WebSockets

Även om det inte är ett strikt krav som hindrar programmet från att köras, använder två funktioner denna teknik (visar live online/offline-status i användarens avatar; meddelande i appen om färdig export). Det kommer att byggas ut i framtiden.

Action Cable måste vara aktiverad. Det är beroende av Redis. Om du vill använda dessa funktioner men inte är bekant med Redis/ActionCable -konfigurationen rekommenderar vi att du migrerar till en ny virtuell dator där dessa är förkonfigurerade.

Påtvingat HTTPS-protokoll

Version 11 tillämpar HTTPS-protokollet för applikationens URL. Kontrollera webbserverns (nginx) konfiguration för att säkerställa att din applikation kommer att vara tillgänglig via https://[easyredmine_url] från din webbläsare eller från alla integrationer som ansluter till din Easy Redmine. Webbadresserna http://[easyredmine_url] kommer inte att fungera i v11!

Slut på sub-uri

Eftersom front-end får avancerade förbättringar är det inte längre möjligt att fortsätta stödja sub-uri-konfiguration. Denna typ av konfiguration är känslig för Javascript -komponenter och orsakar ofta funktionsstörningar. Konfigurera din server till en vanlig domän.

Efter uppgradering

Textil/Markdown -texter migration

Som skrivet i släpp anteckningar vi slopade stödet för olika textredigerare. Om du tidigare använt textil- eller markdown-textredigering måste du köra migreringen av formaterade texter till HTML med det relevanta kommandot för dessa.

Kontrollera först din senaste textformatering med:

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

Om det är textil, använd det här kommandot:

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

eller detta om textformateringen är Markdown:

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

Och om migreringen lyckades byt textformatering till HTML slutligen med:

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

Starta om webbservern för att tillämpa ändringarna helt.

Prova Easy Redmine i 30 dagars gratis provperiod

Fullständiga funktioner, SSL-skyddad, dagliga säkerhetskopior, i din geolokalisering