שדרוג לגרסה 11
מבוא
מדריך זה מיועד ל שרת מנהלים. ענן משתמשים עשויים להירגע, להרים את הרגליים ולהשאיר לנו את כל הפעולות האלה.
גרסה 11 היא קפיצה טכנולוגית משמעותית בהשוואה לגרסאות קודמות. השדרוג לגרסה זו דורש קצת יותר הכנה משדרוג רגיל כדי להימנע מהטרדות. ראו מדריך זה כרשימת בדיקה למעבר חלק.
השינויים החשובים ביותר בערימה הטכנולוגית מוסברים ב הערות למוצר. הוא מכיל גם שינויים תפקודיים חשובים ומידע על תוספים. אם עדיין לא עשית זאת, אנא קרא אותם תחילה.
מכונות וירטואליות קלות להצלה!
חלק מהנקודות הבאות עשויות לחול עליך והמאמץ המשולב אליו עשוי להיראות יותר ממה שאתה מוכן לסבול. במקרה כזה, תמיד קיימת האפשרות הקלה להפעיל יישום מותקן במלואו VMware/VirtualBox תמונה (פורמט .ova). פשוט שאל את התמיכה שלנו, מי ייצור עבורך VM ואולי אף יסדר העברת נתונים מהמערכת הקיימת שלך. כפרס על החלטה כזו, אינך צריך לקרוא את שאר המאמר הזה :)
משאבים שימושיים
הוראות לרוב השלבים כבר מתפרסמות באתרי האינטרנט שלנו ו/או במאגר הידע. לא נעתיק את כולם למאמר אחד זה. אנו מעדיפים להוסיף כאן את ההקשר הדרוש, ולספק קישורים להוראות המפורטות על אותן פעולות ספציפיות.
סיפור שדרוג מודלים
לפני שננתק כל רכיב בפירוט, נראה דוגמא לדוגמא של שדרוג, בעודנו נשארים על אותו שרת.
שרת קיים
- VM קל עם גירסת Easy Redmine 10.10.1
- אודם -v = 2.5.3
- mysql -גרסה = 5.7.31
- redis-server --גרסה = 5.0.3
- רשימת אבני חן | צרור grep = 1.16.6
- צומת -v (לא קיים)
- שרת יישומים של פומה
- שרת האינטרנט nginx
מכיוון שהוא VM המסופק על ידי סביבה קלה וגדולה (מערכת הפעלה, מסד נתונים) מאפשר שדרוג באותו שרת. חלק מהרכיבים תקינים כפי שהם (mysql, redis-server, puma, nginx), חלקם דורשים שדרוג (אודם, צרור), דרישה אחת חסרה לחלוטין (Node.js).
צעדים
0) הורד והתקן את גרסת ה-LTS העדכנית ביותר (10.14.x) - שדרוג אפשרי רק מ-LTS.
1) נתחיל בשדרוג אודם
rvm install ruby 2.6.7 --patch railsexpress
(חכה עד להתקנת אודם חדש, הוא עשוי לבקש ממך סיסמת סודו)
rvm use ruby-2.6.7 --default
2) אנו ממליצים להסיר את התקנת גרסת האודם הקודמת כדי למנוע התנגשויות אפשריות
rvm remove ruby-2.5.3
פקודה זו תסיר את התקנת האודם עם כל אבני החן וקבצים אחרים. זה טוב יותר מאשר להשתמש rvm uninstall
פקודה.
3) כעת עלינו להתקין מחדש את כל אבני החן הדרושות ליישום. אנו מתחילים עם צרור
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) עצור את שרת פומה
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 ב) אם הכל בסדר, התחל את פומה בחזרה
sudo systemctl start puma@your.domain.name
רשימת בדיקות מפרטים
מערכת הפעלה
מגרסה 11, מערכת ההפעלה הנתמכת היחידה (שבה היישום פועל ישירות) היא דביאן, במיוחד 10 (באסטר) ו -11 (Bullseye).
אם אתה מפעיל Easy Redmine במכשירי ה- VM המסופקים שלנו, סביר להניח שכבר יש לך דרישה זו מכוסה. אם יש לך מערכת הפעלה שאינה נתמכת, עליך לעבור לשרת חדש (רצוי ה- VM שלנו). התקנה מחדש או שדרוג מערכת ההפעלה מתחת ליישום ייצור בהחלט אינו לטובתך.
שרת מסד - נתונים
יהיה עליך להשתמש ב- Percona/MySQL 5.7+. ישנם בערך שלושה מקרים:
- יש לך גרסה ישנה יותר של Percona -> שדרוג באמצעות הוראות רשמיות, כגון
https://www.percona.com/doc/percona-server/5.7/upgrading_guide_56_57.html - יש לך התפלגות MySQL שונה (כגון MariaDB) -> אנו ממליצים להעביר לשרת חדש (רצוי ה- VM שלנו).
- יש לך PostgreSQL -> אנו ממליצים להעביר לשרת חדש (רצוי ה- VM שלנו). לפני ההעברה עצמה, יש להמיר מסד נתונים. בדקנו כלי המרה שונים וסיפק הוראות לאלה המתאימים ביותר. אנו מוכנים גם לבצע עבורך את ההמרה.
אוֹדֶם
יש להתעדכן בשפה העומדת מאחורי האפליקציה, כגון השפה שאנשים מתקשרים עליה. מתואר שדרוג רובי כאן. אלא אם הרובי הקיים שלך ישן מאוד, תוכל להמשיך באותו שרת.
באנדלר
למעשה פנינה לניהול אבני חן. מאחר ש- Easy Redmine משתמשת ביותר מ -200 כאלה, הצבירה היא מרכיב מכריע.
כדי להתקין
gem install bundler
כדי לאמת את הגרסה
gem list | grep bundler
גירסה 2.2.x אמורה להתקין באופן אוטומטי. במקרה שלא, אנא עקוב אחר תיעוד רשמי.
Redis
כדי לייעל כמה מהתכונות החדשות ושיפורי הביצועים ב- v11, אנו משתמשים ב- Sidekiq עם redis-server. מכשירי VM קלים כבר מכילים רכיבים אלה. היזהר לגבי הגירסה, ER11 דורש redis-server 5+.
להלן קטע מתוך מדריך ההתקנה הראשי הממוקם ב- חבילת v11 תחת doc/INSTALL_DEBIAN
- הגדרת 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, מרחב שמות: redis_namespace}
סוף
Sidekiq.configure_client do | config | config.redis = {url: redis_url, מרחב שמות: redis_namespace}
סוף סוף
vim /home/easy/current/config/sidekiq.rb
: verbose: false: pidfile: ../sidekiq.pid: logfile: ./log/sidekiq.log: במקביל: <%= ENV ["SIDEKIQ_WORKERS"] || 2 %>: תורים:
- קריטי
- ברירת מחדל
- לחשב מחדש_שדות מותאמים אישית
- easy_git
- פעולות קלות
- קמפיינים easy_mail_campaigns
- שילובים קלים
- דיוורים
- משימות קלות
- נמוך
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
אמנם לא דרישה מחמירה שחוסמת את הפעלת האפליקציה, אך שתי תכונות משתמשות בטכנולוגיה זו (מציג מצב חי מקוון/לא מקוון באווטאר של המשתמש; הודעה בתוך האפליקציה על ייצוא סיים). הוא יורחב בעתיד.
יש להפעיל את כבל הפעולה. זה תלוי ברדיס. אם ברצונך להשתמש בתכונות אלה, אך אינך מכיר את תצורת Redis/ActionCable, אנו ממליצים להעביר ל- VM חדש שבו אלה מוגדרים מראש.
פרוטוקול HTTPS נאכף
גרסה 11 אוכפת פרוטוקול HTTPS של כתובת האתר של האפליקציה. אנא בדוק את תצורת שרת האינטרנט (nginx) כדי לוודא שהאפליקציה שלך תהיה נגישה דרך https://[easyredmine_url] מדפדפן האינטרנט שלך או מכל אינטגרציה שמתחברת ל-Easy Redmine שלך. כתובות האתר http://[easyredmine_url] לא יעבדו ב-v11!
סוף תת-אורי
מכיוון שהקדמי מקבל שיפורים מתקדמים, לא ניתן להמשיך ולתמוך תצורה של תת-אורי. תצורה מסוג זה רגישה למרכיבי Javascript ולעתים קרובות גורמת לתקלות. אנא הגדר מחדש את השרת שלך לדומיין רגיל.
לאחר השדרוג
העברת טקסטים/Markdown טקסטים
כפי שנכתב ב מכתבי שחרור הפסקנו את התמיכה בעורכי טקסט שונים. אם השתמשת בעבר בעריכת טקסטיל או סימון טקסט, תצטרך להפעיל את ההעברה של טקסטים מעוצבים ל-HTML באמצעות הפקודה הרלוונטית של אלה.
אנא בדוק תחילה את עיצוב הטקסט האחרון שלך באמצעות:
bundle exec rails r -e production "puts Setting.text_formatting"
אם זה טקסטיל, אנא השתמש בפקודה זו:
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'"
הפעל מחדש את שרת האינטרנט כדי להחיל שינויים במלואם.