en
Γλώσσα
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
Μετάφραση AI
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Αναβάθμιση στην έκδοση 11

Εισαγωγή

Αυτός ο οδηγός προορίζεται για διακομιστή διαχειριστές. Backup Οι χρήστες μπορούν να χαλαρώσουν, να σηκώσουν τα πόδια τους και να αφήσουν όλες αυτές τις λειτουργίες σε εμάς.

Η έκδοση 11 είναι ένα σημαντικό τεχνολογικό άλμα σε σύγκριση με τις προηγούμενες εκδόσεις. Η αναβάθμιση σε αυτήν την έκδοση απαιτεί λίγο περισσότερη προετοιμασία από μια κανονική αναβάθμιση για να αποφύγετε τυχόν ανατροπές. Θεωρήστε αυτόν τον οδηγό μια λίστα ελέγχου για μια ομαλή μετάβαση.

Οι πιο σημαντικές αλλαγές στην τεχνολογική στοίβα εξηγούνται στο Σημειώσεις έκδοσηςΤο Περιέχει επίσης σημαντικές λειτουργικές αλλαγές και πληροφορίες προσθηκών. Εάν δεν το έχετε κάνει ήδη, διαβάστε τα πρώτα.

Εύκολα εικονικά μηχανήματα στη διάσωση!

Μερικά από τα παρακάτω σημεία μπορεί να ισχύουν για εσάς και η συνδυασμένη προσπάθεια μπορεί να φαίνεται περισσότερο από ό, τι είστε διατεθειμένοι να υπομείνετε. Σε μια τέτοια περίπτωση, υπάρχει πάντα η εύκολη επιλογή να ενεργοποιήσετε μια πλήρως εγκατεστημένη εφαρμογή VMware/VirtualBox εικόνα (μορφή .ova). Απλώς ζητήστε την υποστήριξή μας, ο οποίος θα δημιουργήσει ένα VM για εσάς και ενδεχομένως να οργανώσει τη μετεγκατάσταση δεδομένων από το υπάρχον σύστημά σας. Ως ανταμοιβή για μια τέτοια απόφαση, δεν χρειάζεται να διαβάσετε το υπόλοιπο αυτού του άρθρου :)

Χρήσιμοι πόροι

Οδηγίες για τα περισσότερα βήματα έχουν ήδη δημοσιευτεί στους ιστότοπούς μας ή/και στη βάση γνώσεων. Δεν θα τα αντιγράψουμε όλα σε αυτό το άρθρο. Θα προσθέσουμε μάλλον το απαραίτητο πλαίσιο εδώ και θα παράσχουμε συνδέσμους προς τις λεπτομερείς οδηγίες για τις συγκεκριμένες λειτουργίες.

Ιστορία αναβάθμισης μοντέλου

Πριν αποσυνδέσουμε λεπτομερώς κάθε στοιχείο, θα δείξουμε ένα παράδειγμα μοντέλου αναβάθμισης, ενώ παραμένουμε στον ίδιο διακομιστή.

Ο υπάρχων διακομιστής

  • Easy VM με Easy Redmine έκδοση 10.10.1
  • ρουμπίνι -v = 2.5.3
  • mysql -μετατροπή = 5.7.31
  • redis-server-μετατροπή = 5.0.3
  • λίστα πολύτιμων λίθων | grep bundler = 1.16.6
  • κόμβος -v (ανύπαρκτος)
  • διακομιστής εφαρμογών puma
  • διακομιστής ιστού nginx

Δεδομένου ότι είναι VM που παρέχεται από το Easy, το μεγάλο περιβάλλον (λειτουργικό σύστημα, βάση δεδομένων) επιτρέπει την αναβάθμιση στον ίδιο διακομιστή. Ορισμένα στοιχεία είναι καλά (mysql, redis-server, puma, nginx), ορισμένα απαιτούν αναβάθμιση (ρουμπίνι, 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) Τώρα πρέπει να επανεγκαταστήσουμε όλους τους πολύτιμους λίθους για εφαρμογή. Ξεκινάμε με το bundler
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 από τη ζώνη πελάτη, αντιγράψτε το στο VM σας.

7) Διακοπή διακομιστή puma
sudo systemctl stop puma@your.domain.name

Από αυτό το σημείο που μπορείτε να επιλέξετε θα θέλατε να συνεχίσετε με αυτόματη διαδικασία ή με μη αυτόματη αναβάθμιση.

α) Αυτόματη αναβάθμιση (συνιστάται)
8α) Εκτελέστε αναβάθμιση μέσω του προγράμματος εγκατάστασης redmine
redmine upgrade name_of_package

9α) Ακολουθήστε τα βήματα του οδηγού.

β) Μη αυτόματη αναβάθμιση
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 Redmine στις παρεχόμενες εικονικές μηχανές μας, πιθανότατα έχετε ήδη καλύψει αυτήν την απαίτηση. Εάν διαθέτετε μη υποστηριζόμενο λειτουργικό σύστημα, πρέπει να μετεγκαταστήσετε σε νέο διακομιστή (κατά προτίμηση το VM μας). Η επανεγκατάσταση ή η αναβάθμιση του λειτουργικού συστήματος κάτω από μια εφαρμογή παραγωγής σίγουρα δεν σας συμφέρει.

Διακομιστής βάσης δεδομένων

Θα χρειαστεί να χρησιμοποιήσετε Percona/MySQL 5.7+. Υπάρχουν περίπου τρεις περιπτώσεις:

  • Έχετε μια παλαιότερη έκδοση Percona -> αναβάθμιση μέσω επίσημων οδηγιών, όπως π.χ.
    https://www.percona.com/doc/percona-server/5.7/upgrading_guide_56_57.html
  • Έχετε διαφορετική κατανομή MySQL (όπως η MariaDB) -> συνιστούμε τη μετάβαση σε νέο διακομιστή (κατά προτίμηση το VM μας).
  • Έχετε PostgreSQL -> συνιστούμε τη μετάβαση σε νέο διακομιστή (κατά προτίμηση τον εικονικό μας υπολογιστή). Πριν από την ίδια τη μετάβαση, η βάση δεδομένων πρέπει να μετατραπεί. Δοκιμάσαμε διάφορα εργαλεία μετατροπής και παρείχε οδηγίες για τις καταλληλότερες. Είμαστε επίσης έτοιμοι να πραγματοποιήσουμε τη μετατροπή για εσάς.

Ruby

Η γλώσσα πίσω από την εφαρμογή πρέπει να είναι ενημερωμένη, όπως η γλώσσα με την οποία επικοινωνούν οι άνθρωποι. Περιγράφεται η αναβάθμιση του Ruby εδώ. Εκτός εάν το υπάρχον Ruby σας είναι πολύ παλιό, μπορείτε να συνεχίσετε στον ίδιο διακομιστή.

δεσμευτής

Πρακτικά ένα κόσμημα για τη διαχείριση πολύτιμων λίθων. Δεδομένου ότι το Easy Redmine χρησιμοποιεί περισσότερα από 200 από αυτά, το bundler είναι ένα κρίσιμο συστατικό.

Για να εγκαταστήσετε
gem install bundler

Για επαλήθευση της έκδοσης
gem list | grep bundler

Η έκδοση 2.2.x θα πρέπει να εγκατασταθεί αυτόματα. Σε περίπτωση που δεν το κάνει, ακολουθήστε το επίσημη τεκμηρίωση.

Ρέντη

Για τον εξορθολογισμό ορισμένων από τις νέες δυνατότητες και βελτιώσεις απόδοσης στο v11, χρησιμοποιούμε το Sidekiq με redis-server. Τα Easy VMs περιέχουν ήδη αυτά τα στοιχεία. Προσοχή στην έκδοση, το 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, namespace: 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_actions
  • easy_mail_campaigns
  • easy_integrations
  • ταχυδρομεία
  • 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

Παρόλο που δεν είναι αυστηρή απαίτηση που εμποδίζει την εκτέλεση της εφαρμογής, δύο λειτουργίες χρησιμοποιούν αυτήν την τεχνολογία (εμφάνιση ζωντανής κατάστασης στο διαδίκτυο/εκτός σύνδεσης στο avatar του χρήστη, ειδοποίηση εντός εφαρμογής σχετικά με την τελική εξαγωγή). Θα επεκταθεί στο μέλλον.

Το καλώδιο δράσης πρέπει να είναι ενεργοποιημένο. Εξαρτάται από τον Redis. Εάν θέλετε να χρησιμοποιήσετε αυτές τις δυνατότητες, αλλά δεν είστε εξοικειωμένοι με τη διαμόρφωση Redis/ActionCable, συνιστούμε τη μετεγκατάσταση σε νέο VM όπου αυτές είναι προκαθορισμένες.

Επιβεβλημένο πρωτόκολλο HTTPS

Η έκδοση 11 επιβάλλει το πρωτόκολλο HTTPS της διεύθυνσης URL της εφαρμογής. Ελέγξτε τη διαμόρφωση του διακομιστή ιστού (nginx) για να βεβαιωθείτε ότι η εφαρμογή σας θα είναι προσβάσιμη μέσω https://[easyredmine_url] από το πρόγραμμα περιήγησής σας ή από τυχόν ενσωματώσεις που συνδέονται με το Easy Redmine σας. Οι διευθύνσεις URL http://[easyredmine_url] δεν θα λειτουργήσουν στην έκδοση 11!

Τέλος υπο-ουρίου

Καθώς το front-end λαμβάνει προηγμένες βελτιώσεις, δεν είναι πλέον εφικτό να συνεχίσουμε να υποστηρίζουμε διαμόρφωση sub-uriΤο Αυτό το είδος διαμόρφωσης είναι ευαίσθητο στα στοιχεία Javascript και συχνά προκαλεί δυσλειτουργία. Παραμετροποιήστε ξανά τον διακομιστή σας στον κανονικό τομέα.

Μετά την αναβάθμιση

Μεταφορά κειμένων υφασμάτων/Markdown

Όπως γράφτηκε στο σημειώσεις έκδοσης Καταργήσαμε την υποστήριξη διαφορετικών προγραμμάτων επεξεργασίας κειμένου. Εάν είχατε χρησιμοποιήσει προηγουμένως επεξεργασία κειμένου υφασμάτων ή μαρκαρίσματος, θα χρειαστεί να εκτελέσετε τη μετεγκατάσταση μορφοποιημένων κειμένων σε HTML χρησιμοποιώντας τη σχετική εντολή αυτών.

Ελέγξτε πρώτα την πρόσφατη μορφοποίηση του κειμένου σας με:

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

Εάν είναι Textile, χρησιμοποιήστε αυτήν την εντολή:

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 Redmine σε δωρεάν δοκιμή 30 ημερών

Πλήρεις δυνατότητες, προστασία SSL, καθημερινά αντίγραφα ασφαλείας, στη γεωγραφική σας τοποθεσία