automation featured image

כיצד להפוך את התקנת Canvas LMS לאוטומטית עם Ansible

במאמר כיצד להתקין את Canvas LMS על אובונטו 22.04 סיפקתי שלבים להתקנת מערכת ניהול הלמידה Canvas בקוד פתוח ממאגר Github על השרת שלך. אבל מי רוצה להקליד את כל הפקודות האלה בטרמינל באופן ידני? ומה בכל זאת שונה בינינו מקופים? שימוש בכלים לאוטומציה עושה זאת!

הסקריפט שלהלן הופך את הפריסה של Canvas LMS לאוטומטית באובונטו 22.04 באמצעות כלי ניהול התצורה של Ansible.

Before you begin installation check out our שירות אירוח Canvas LMS. You can start using the LMS right away without need to manage own servers.

כיצד להשתמש ב-Ansible לאוטומציה של התקנת Canvas LMS

הכן את השרת

התחל על ידי התקנת Ansible ו-Git בשרת שלך.

$ sudo apt install ansible git

שכפל את המאגר עם סקריפט ההתקנה של Canvas LMS

שיבוט התקנה אפשרית של קנבס מאגר מ- Github.

$ git clone https://github.com/EugeneWHZ/canvaslms-ansible-installation.git 
$ cd canvaslms-ansible-installation

צור מלאי עבור Ansible

Create an Ansible inventory file from the file “production.example” and replace web_server_ip, db_server_ip, redis_server_ip עם כתובות IP או שמות מארח של השרתים שלך.

$ cp production.example production
$ vim production

אם אתה מתקין על מארח מקומי אתה יכול לשים משהו כזה בקובץ המלאי:

[webservers]
localhost:22 ansible_connection=local ansible_python_interpreter="/usr/bin/env python3"

[dbservers]
localhost:22 ansible_connection=local ansible_python_interpreter="/usr/bin/env python3"

[redisservers]
localhost:22 ansible_connection=local ansible_python_interpreter="/usr/bin/env python3"

שנה משתנים

הבא העתק וערוך את קובץ המשתנים:

$ cp roles/common/vars/main.yml.example roles/common/vars/main.yml
$ vim roles/common/vars/main.yml

קובץ המשתנים מובן מאליו, אבל הנה דוגמה למקרה שעדיין יש לך ספקות.

variables file for ansible playbook
קובץ משתנים עבור Ansible playbook

הפעל את Ansible playbook כדי להתקין את מערכת הקוד הפתוח Canvas LMS

כשתסיים עם מלאי ומשתנים תוכל סוף סוף להריץ את ה-Playbook שעושה את כל העבודה בהתקנת Canvas LMS בשרת שלך. חלק מהמשימות בספר המשחקים, כגון התקנת חוט ו נכסי קנבס קומפילציה למשימה לוקח זמן הגון להשלים, אז קחו הפסקה של 10-15 דקות מהמחשב ואפשרו לאנסיבל לעשות את העבודה.

$ ansible-playbook -i production master.yml

If the Ansible playbook fails on some step then you need to troubleshoot the issue and re-start playbook from the failed task using ‘–start-at-task=”task name”‘ runtime variable. For example:

$ ansible-playbook -i production --start-at-task="install yarn" master.yml

במקום להפעיל התקנה מלאה, אתה יכול להתקין רק רכיבי שרת אינטרנט, שרת מסד נתונים או שרת redis בנפרד על ידי הפעלת ספרי הפעלה webservers.yml, dbservers.yml או redis.yml.

$ ansible-playbook -i production webservers.yml
$ ansible-playbook -i production dbservers.yml
$ ansible-playbook -i production redis.yml

תקציר: אוטומציה הופכת את החיים לקלים יותר!

התקנה ידנית של מערכת Canvas LMS בקוד פתוח גוזלת זמן ונוטה לשגיאות. השתמש בכלי אוטומציה כמו סקריפטים של bash, Python ו-Ansible כדי לשחרר את עצמך מהקלדת פקודות בטרמינל שוב ושוב!