en
Språk
  • en
  • cs
  • hu
  • it
  • es
  • fr
  • de
  • ru
Maskinoversettelse
  • bg
  • dk
  • nl
  • gr
  • il
  • jp
  • kr
  • Nei.
  • pl
  • tr

Oppgradering til versjon 11

Introduksjon

Denne veiledningen er ment for Server administratorer. Cloud brukere kan slappe av, sette føttene opp og overlate alle disse operasjonene til oss.

Versjon 11 er et betydelig teknologisk sprang sammenlignet med tidligere versjoner. Oppgradering til denne versjonen krever litt mer forberedelse enn en vanlig oppgradering for å unngå forstyrrelser. Vurder denne guiden som en sjekkliste for en jevn overgang.

De viktigste endringene i den teknologiske stakken er forklart i Utgiv notater. Den inneholder også viktige funksjonelle endringer og plugin-informasjon. Hvis du ikke allerede har gjort det, kan du lese dem først.

Enkle virtuelle maskiner til unnsetning!

Noen av følgende punkter kan gjelde deg, og den samlede innsatsen for å virke mer enn du er villig til å tåle. I slike tilfeller er det alltid det enkle alternativet å få et fullt installert program på VMware/VirtualBox bilde (.ova-format). Bare spør vår støtte, som vil generere en VM for deg og muligens til og med arrangere datamigrering fra ditt eksisterende system. Som en belønning for en slik beslutning, trenger du ikke å lese resten av denne artikkelen :)

Nyttige ressurser

Instruksjoner for de fleste trinnene er allerede publisert i kunnskapsbasen og direkte i installasjonspakken (doc / INSTALL_DEBIAN). Vi vil ikke kopiere dem alle til denne artikkelen. Vi vil heller legge til den nødvendige konteksten her og fokusere på de vesentlige endringene.

Modelloppgraderingshistorie

Før vi skiller hver komponent i detalj, vil vi vise et eksempel på en oppgradering mens vi forblir på samme server.

Eksisterende server

  • Enkel VM med Easy Project versjon 10.10.1
  • rubin -v = 2.5.3
  • mysql --versjon = 5.7.31
  • redis-server --versjon = 5.0.3
  • perleliste | grep-bundler = 1.16.6
  • node -v (ikke-eksisterende)
  • puma applikasjonsserver
  • nginx webserver

Siden det er VM levert av Easy, tillater stort miljø (OS, database) oppgradering på samme server. Noen komponenter er fine som de er (mysql, redis-server, puma, nginx), noen krever oppgradering (ruby, bundler), ett krav mangler helt (Node.js).

Steps

0) Last ned og installer den nyeste LTS-versjonen (10.14.x) - oppgradering er kun mulig fra LTS.

1) La oss starte med rubinoppgradering
rvm install ruby 2.6.7 --patch railsexpress

(vent til ny rubin er installert, det kan be deg om sudo-passord)

rvm use ruby-2.6.7 --default

2) Vi anbefaler at du avinstallerer tidligere rubinversjon for å unngå mulige kollisjoner
rvm remove ruby-2.5.3

Denne kommandoen vil avinstallere ruby ​​med alle perler og andre filer. Det er bedre enn å bruke rvm uninstall kommando.

3) Nå må vi installere alle nødvendige perler for applikasjonen. Vi starter med bundler
gem install bundler

La oss sjekke hvilken pakker som ble installert
gem list | grep bundler

Det skal returnere en linje som
bundler (2.1.4, 2.1.2)

Forsikre deg om at det er en versjon som er høyere enn 2.2.16

4) Gå nå til /home/easy/your.vm.name
cd /home/easy/your.vm.name

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

Og sjekk at den har riktig versjon
node -v

Det skal returnere noe sånt som
v14.16.0

Forsikre deg om at versjonen din er 14.16 eller høyere.

6) Last ned pakke v11-pakken fra klientsonen, kopier den til den virtuelle maskinen.

7) Stopp puma-serveren
sudo systemctl stop puma@your.domain.name

Fra dette punktet kan du velge om du vil fortsette med automatisk prosedyre eller med manuell oppgradering.

a) Automatisk oppgradering (Anbefales)
8a) Kjør oppgradering via redmine installer
redmine upgrade name_of_package

9a) Følg trinnene i veiviseren.

b) Manuell oppgradering
8b) Gi nytt navn til den nåværende strømmen / mappen
mv current/ current_old/

9b) Gjenopprett gjeldende mappe
mkdir current

10b) Gå til gjeldende mappe
cd current/

11b) Pakk ut pakken her
unzip /path/to/downloaded/package.zip

12b) Installer perler
bundle install

13b) Kjør migrasjoner
bundle exec rake easyproject:install RAILS_ENV=production

14b) Hvis alt er i orden, start puma tilbake
sudo systemctl start puma@your.domain.name

Spesifikasjon sjekkliste

Operativsystem

Fra versjon 11 er det eneste støttede operativsystemet (der applikasjonen kjører direkte) Debian, spesielt 10 (Buster) og 11 (Bullseye).

Hvis du kjører Easy Project på våre medfølgende virtuelle maskiner, har du sannsynligvis allerede dekket dette kravet. Hvis du har et operativsystem som ikke støttes, må du migrere til en ny server (helst vår VM). Å installere eller oppgradere OS på nytt under en produksjonsapplikasjon er definitivt ikke i din interesse.

Databaseserver

Du må bruke Percona / MySQL 5.7+. Det er omtrent tre tilfeller:

Rubin

Språket bak applikasjonen må holdes oppdatert slik som språket folk kommuniserer etter. Oppgradering av Ruby er beskrevet her. Med mindre din eksisterende Ruby er veldig gammel, kan du fortsette på samme server.

Bundler

En rubinperle for å håndtere rubinperler. Siden Easy Project bruker mer enn 200 av disse, er bundler en viktig komponent.

Slik installerer
gem install bundler

For å bekrefte versjonen
gem list | grep bundler

Versjon 2.2.x skal installeres automatisk. Hvis den ikke gjør det, kan du følge offisiell dokumentasjon.

Redis

For å effektivisere noen av de nye funksjonene og ytelsesforbedringene i v11, bruker vi Sidekiq med redis-server. Enkle virtuelle maskiner inneholder allerede disse komponentene. Vær forsiktig med versjonen, ER11 krever redis-server 5+.

Her er et utdrag fra hovedinstallasjonsveiledningen i din v11-pakke etter doc / INSTALL_DEBIAN

  1. Oppsett redis og sidekiq

Bytt til bruker enkelt.

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

hvis Rails.env.produksjon? config.active_job.queue_adapter =: sidekiq

redis_namespace = Rails.root.join (".."). basenavn.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}

slutt

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

slutten slutten

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

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

  • kritisk
  • standard~~POS=TRUNC
  • beregne_tilpasset_felt
  • easy_git
  • lett_handlinger
  • easy_mail_campaigs
  • enkle_integrasjoner
  • mailere
  • enkle_rake_oppgaver
  • lav

node.js

Endelig det siste store kravet. Installasjonen er ganske enkel

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

Forsikre deg om at du har versjon 14.16. Dokumentasjon tilgjengelig her.

WebSockets

Selv om det ikke er et strengt krav som hindrer applikasjonen i å kjøre, bruker to funksjoner denne teknologien (viser live online / offline tilstand i brukerens avatar; varsel i app om ferdig eksport). Det vil bli utvidet i fremtiden.

Handlingskabel må være aktivert. Det er avhengig av Redis. Hvis du vil bruke disse funksjonene, men ikke er kjent med Redis / ActionCable-konfigurasjon, anbefaler vi at du overfører til ny virtuell maskin der disse er forhåndskonfigurert.

Tvungen HTTPS-protokoll

Versjon 11 håndhever HTTPS-protokollen til applikasjonens URL. Vennligst sjekk konfigurasjonen av nettserveren (nginx) for å sikre at applikasjonen din vil være tilgjengelig via https://[easyproject_url] fra nettleseren din eller fra alle integrasjoner som kobles til Easy Project. URL-ene http://[easyproject_url] vil ikke fungere i v11!

Slutten på sub-uri

Siden frontend mottar avanserte forbedringer, er det ikke lenger mulig å fortsette å støtte sub-uri-konfigurasjon. Denne typen konfigurasjon er følsom for Javascript-komponenter og forårsaker ofte funksjonsfeil. Vennligst konfigurer serveren din til vanlig domene.

Etter oppgradering

Tekstiler / Markdown tekster migrering

Som skrevet i utgiv notater vi droppet støtte for forskjellige tekstredigerere. Hvis du tidligere har brukt tekstil- eller markdown-tekstredigering, må du kjøre migreringen av formaterte tekster til HTML ved å bruke den relevante kommandoen til disse.

Vennligst sjekk først din nylige tekstformatering med:

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

Hvis det er tekstil, bruk denne kommandoen:

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

eller dette hvis tekstformateringen er Markdown:

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

Og hvis migreringen var vellykket, bytt tekstformatering til HTML til slutt med:

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

Start webserveren på nytt for å bruke endringene fullt ut.

Prøv Easy Project i 30 dager gratis prøveversjon

Fulle funksjoner, SSL-beskyttet, daglige sikkerhetskopier, i din geoposisjon