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

Aggiornamento alla versione 11

Introduzione

Questa guida è destinata a server amministratori. Cloud gli utenti possono rilassarsi, alzare i piedi e lasciare a noi tutte queste operazioni.

La versione 11 rappresenta un salto tecnologico significativo rispetto alle versioni precedenti. L'aggiornamento a questa versione richiede un po' più di preparazione rispetto a un aggiornamento regolare per evitare problemi. Considera questa guida una lista di controllo per una transizione graduale.

I cambiamenti più importanti nello stack tecnologico sono spiegati nel Note di rilascio. Contiene anche importanti modifiche funzionali e informazioni sui plug-in. Se non l'hai già fatto, leggili prima.

Macchine virtuali facili in soccorso!

Alcuni dei seguenti punti potrebbero applicarsi a te e lo sforzo combinato potrebbe sembrare più di quanto tu sia disposto a sopportare. In tal caso, c'è sempre la possibilità di ottenere un'applicazione completamente installata su VMware/VirtualBox immagine (formato .ova). Basta chiedere al nostro supporto, che genererà una VM per te ed eventualmente organizzerà anche la migrazione dei dati dal tuo sistema esistente. Come ricompensa per tale decisione, non è necessario leggere il resto di questo articolo :)

Risorse utili

Le istruzioni per la maggior parte dei passaggi sono già pubblicate sui nostri siti Web e/o nella knowledge base. Non li copieremo tutti in questo articolo. Piuttosto aggiungeremo qui il contesto necessario e forniremo collegamenti alle istruzioni dettagliate su quelle operazioni specifiche.

Storia dell'aggiornamento del modello

Prima di analizzare in dettaglio ogni componente, mostreremo un esempio di modello di aggiornamento, pur rimanendo sullo stesso server.

Server esistente

  • Easy VM con Easy Redmine versione 10.10.1
  • rubino -v = 2.5.3
  • mysql --versione = 5.7.31
  • redis-server --versione = 5.0.3
  • lista di gemme | grep bundler = 1.16.6
  • nodo -v (inesistente)
  • server di applicazioni puma
  • server web nginx

Poiché è una VM fornita da Easy, il grande ambiente (OS, database) consente l'aggiornamento sullo stesso server. Alcuni componenti vanno bene così come sono (mysql, redis-server, puma, nginx), alcuni richiedono l'aggiornamento (ruby, bundler), manca completamente un requisito (Node.js).

Passi

0) Scarica e installa l'ultima versione LTS (10.14.x) - l'aggiornamento è possibile solo da LTS.

1) Cominciamo con l'aggiornamento rubino
rvm install ruby 2.6.7 --patch railsexpress

(aspetta che il nuovo ruby ​​sia installato, potrebbe chiederti la password sudo)

rvm use ruby-2.6.7 --default

2) Si consiglia di disinstallare la versione precedente di ruby ​​per evitare possibili collisioni
rvm remove ruby-2.5.3

Questo comando disinstallerà ruby ​​con tutte le gemme e altri file. È meglio che usare rvm uninstall comando.

3) Ora dobbiamo reinstallare tutte le gemme necessarie per l'applicazione. Iniziamo con bundler
gem install bundler

Controlliamo quale bundler è stato installato
gem list | grep bundler

Dovrebbe restituire una riga come
bundler (2.1.4, 2.1.2)

Assicurati che ci sia una versione superiore alla 2.2.16

4) Ora vai su /home/easy/your.vm.name
cd /home/easy/your.vm.name

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

E controlla che abbia la versione corretta
node -v

Dovrebbe restituire qualcosa del tipo
v14.16.0

Assicurati che la tua versione sia 14.16 o successiva.

6) Scarica il pacchetto v11 pacchetto dalla zona client, copialo sulla tua VM.

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

Da questo punto puoi scegliere se vuoi continuare con la procedura automatica o con l'aggiornamento manuale.

a) Aggiornamento automatico (consigliato)
8a) Esegui l'aggiornamento tramite il programma di installazione di redmine
redmine upgrade name_of_package

9a) Seguire i passaggi della procedura guidata.

b) Aggiornamento manuale
8b) Rinomina la tua cartella/corrente recente
mv current/ current_old/

9b) Ricrea la cartella corrente
mkdir current

10b) Vai alla cartella corrente
cd current/

11b) Disimballare il pacchetto qui
unzip /path/to/downloaded/package.zip

12b) Installa le gemme
bundle install

13b) Esegui migrazioni
bundle exec rake easyproject:install RAILS_ENV=production

14b) Se tutto è ok, riavvia puma
sudo systemctl start puma@your.domain.name

Lista di controllo delle specifiche

Sistema operativo

Dalla versione 11, l'unico sistema operativo supportato (dove l'applicazione viene eseguita direttamente) è Debian, in particolare 10 (Buster) e 11 (Bullseye).

Se stai eseguendo Easy Redmine sulle nostre VM fornite, molto probabilmente hai già soddisfatto questo requisito. Se hai un sistema operativo non supportato, devi migrare su un nuovo server (preferibilmente la nostra VM). Reinstallare o aggiornare il sistema operativo sotto un'applicazione di produzione non è sicuramente nel tuo interesse.

Server di database

Dovrai usare Percona/MySQL 5.7+. Ci sono all'incirca tre casi:

  • Hai una versione precedente di Percona -> aggiorna tramite istruzioni ufficiali, come
    https://www.percona.com/doc/percona-server/5.7/upgrading_guide_56_57.html
  • Hai una distribuzione MySQL diversa (come MariaDB) -> ti consigliamo di migrare su un nuovo server (preferibilmente la nostra VM).
  • Hai PostgreSQL -> ti consigliamo di migrare su un nuovo server (preferibilmente la nostra VM). Prima della migrazione stessa, il database deve essere convertito. Abbiamo testato vari strumenti di conversione e fornito istruzioni per quelli più adatti. Siamo anche pronti a eseguire la conversione per te.

Ruby

La lingua dietro l'applicazione deve essere mantenuta aggiornata, come la lingua con cui le persone comunicano. L'aggiornamento di Ruby è descritto A meno che il tuo Ruby esistente non sia molto vecchio, puoi continuare sullo stesso server.

Bundler

Praticamente una gemma per gestire le gemme. Poiché Easy Redmine ne utilizza più di 200, bundler è un componente cruciale.

Per installare
gem install bundler

Per verificare la versione
gem list | grep bundler

La versione 2.2.x dovrebbe essere installata automaticamente. In caso contrario, segui il documentazione ufficiale.

Redis

Per semplificare alcune delle nuove funzionalità e miglioramenti delle prestazioni nella v11, utilizziamo Sidekiq con redis-server. Le Easy VM contengono già questi componenti. Fai attenzione alla versione, ER11 richiede redis-server 5+.

Ecco un estratto dalla guida all'installazione principale che si trova nel tuo pacchetto v11 per doc/INSTALL_DEBIAN

  1. Imposta redis e sidekiq

Passa a utente facile.

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

se 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 }

fine

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

fine fine

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

:verbose: false :pidfile: ../sidekiq.pid :logfile: ./log/sidekiq.log :concurrency: <%= ENV["SIDEKIQ_WORKERS"] || 2 %> :code:

  • critico
  • difetto
  • ricalcolare_campi_personalizzati
  • easy_git
  • azioni_facili
  • easy_mail_campagne
  • integrazioni_facili
  • mailer
  • easy_rake_tasks
  • Basso

Node.js

Infine, l'ultimo requisito fondamentale. L'installazione è piuttosto semplice

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

Assicurati di avere la versione 14.16. Documentazione ufficiale disponibile

WebSockets

Sebbene non sia un requisito rigoroso che blocca l'esecuzione dell'applicazione, due funzionalità utilizzano questa tecnologia (mostrando lo stato online/offline in tempo reale nell'avatar dell'utente; avviso in-app sull'esportazione completata). Sarà ampliato in futuro.

Action Cable deve essere abilitato. Dipende da Redis. Se si desidera utilizzare queste funzionalità, ma non si ha familiarità con la configurazione di Redis/ActionCable, si consiglia di eseguire la migrazione a una nuova macchina virtuale in cui sono preconfigurate.

Protocollo HTTPS applicato

La versione 11 applica il protocollo HTTPS dell'URL dell'applicazione. Controlla la configurazione del server web (nginx) per assicurarti che la tua applicazione sia accessibile tramite https://[easyredmine_url] dal tuo browser web o da eventuali integrazioni che si collegano al tuo Easy Redmine. Gli URL http://[easyredmine_url] non funzioneranno nella v11!

Fine del sub-uri

Poiché il front-end riceve miglioramenti avanzati, non è più possibile continuare a supportare configurazione sub-uri. Questo tipo di configurazione è sensibile ai componenti Javascript e spesso causa disfunzioni. Si prega di riconfigurare il server al dominio normale.

Dopo l'aggiornamento

Migrazione di testi tessili/markdown

Come scritto in note di rilascio abbiamo abbandonato il supporto di diversi editor di testo. Se in precedenza hai utilizzato la modifica del testo tessile o markdown, dovrai eseguire la migrazione dei testi formattati in HTML utilizzando il relativo comando di questi.

Per prima cosa controlla la formattazione del testo recente con:

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

Se è tessile, usa questo comando:

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

o questo se la formattazione del testo è Markdown:

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

E se la migrazione ha avuto successo, cambia finalmente la formattazione del testo in HTML con:

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

Riavvia il server web per applicare completamente le modifiche.

Prova Easy Redmine in 30 giorni di prova gratuita

Funzionalità complete, protezione SSL, backup giornalieri, nella tua geolocalizzazione