automation featured image

Hvordan automatisere Canvas LMS-installasjon med Ansible

I artikkelen Hvordan installere Canvas LMS på Ubuntu 22.04 Jeg ga trinn for å installere åpen kildekode Canvas læringsadministrasjonssystemet fra Github-depotet på din egen server. Men hvem vil skrive alle disse kommandoene inn i terminalen manuelt? Og hva skiller oss fra aper tross alt? Å bruke verktøy for automatisering gjør det!

Skriptet nedenfor automatiserer Canvas LMS-distribusjon på Ubuntu 22.04 ved å bruke Ansible-konfigurasjonsadministrasjonsverktøy.

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

Slik bruker du Ansible for å automatisere Canvas LMS-installasjon

Forbered serveren

Kom i gang ved å installere Ansible og Git på serveren din.

$ sudo apt install ansible git

Klon depotet med Canvas LMS installasjonsskript

Klone lerrets mulig installasjon repository fra Github.

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

Opprett inventar for 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 vertsnavn til serverne dine.

$ cp production.example production
$ vim production

Hvis du installerer på lokal vert du kan legge noe slikt i inventarfilen:

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

Endre variabler

Kopier og rediger deretter variabelfilen:

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

Variabelfilen er selvforklarende, men her er et eksempel i tilfelle du fortsatt er i tvil.

variables file for ansible playbook
Variable fil for Ansible playbook

Kjør Ansible playbook for å installere åpen kildekode Canvas LMS-systemet

Når du er ferdig med inventar og variabler kan du endelig kjøre playbook som gjør all jobben med å installere Canvas LMS på serveren din. Noen av oppgavene i lekeboka, som f.eks montering av garn og lerretskompilere eiendeler oppgaven tar anstendig tid å fullføre, så ta en pause på 10-15 minutter fra datamaskinen og la Ansible gjøre jobben.

$ 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

I stedet for å kjøre fullstendig installasjon kan du kun installere webserver-, databaseserver- eller redis-serverkomponenter individuelt ved å kjøre 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

Sammendrag: automatisering gjør livet enklere!

Manuell installasjon av Canvas LMS-systemet med åpen kildekode er tidkrevende og utsatt for feil. Bruk automatiseringsverktøy som bash-skript, Python og Ansible for å frigjøre deg selv fra å skrive kommandoer i terminal om og om igjen!