automation featured image

Hur man automatiserar Canvas LMS-installation med Ansible

I artikeln Hur man installerar Canvas LMS på Ubuntu 22.04 Jag tillhandahöll steg för att installera hanteringssystemet Canvas med öppen källkod från Github-förvaret på din egen server. Men vem vill skriva alla dessa kommandon i terminalen manuellt? Och vad skiljer oss från apor trots allt? Att använda verktyg för automatisering gör det!

Skriptet nedan automatiserar Canvas LMS-distribution på Ubuntu 22.04 med hjälp av Ansibles konfigurationshanteringsverktyg.

Before you begin installation check out our Canvas LMS-värdtjänst. You can start using the LMS right away without need to manage own servers.

Hur man använder Ansible för att automatisera Canvas LMS-installation

Förbered servern

Kom igång genom att installera Ansible och Git på din server.

$ sudo apt install ansible git

Klona förvaret med Canvas LMS installationsskript

Klona canvaslms ansible installation repository från Github.

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

Skapa inventering för Ansible

Create an Ansible inventory file from the file “production.example” and replace web_server_ip, db_server_ip, redis_server_ip med IP-adresser eller värdnamn för dina servrar.

$ cp production.example production
$ vim production

Om du installerar på lokal värd du kan lägga in något så här i inventeringsfilen:

[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"

Ändra variabler

Kopiera och redigera sedan variabelfilen:

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

Variabelfilen är självförklarande, men här är ett exempel om du fortfarande är osäker.

variables file for ansible playbook
Variabler fil för Ansible playbook

Kör Ansible playbook för att installera Canvas LMS-systemet med öppen källkod

När du är klar med inventering och variabler kan du äntligen köra spelboken som gör allt jobb med att installera Canvas LMS på din server. Några av uppgifterna i lekboken, som t.ex installation av garn och canvas kompilera tillgångar uppgiften tar lagom tid att slutföra, så ta en paus på 10-15 minuter från datorn och låt Ansible göra jobbet.

$ 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

Istället för att köra en komplett installation kan du bara installera webbserver-, databasserver- eller redis-serverkomponenter individuellt genom att köra webservers.yml, dbservers.yml eller redis.yml playbooks.

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

Sammanfattning: automatisering gör livet enklare!

Manuell installation av Canvas LMS-systemet med öppen källkod är tidskrävande och risk för fel. Använd automationsverktyg som bash-skript, Python och Ansible för att befria dig från att skriva kommandon i terminalen om och om igen!