automation featured image

Come automatizzare l’installazione di Canvas LMS con Ansible

Nell'articolo Come installare Canvas LMS su Ubuntu 22.04 Ho fornito i passaggi per installare il sistema di gestione dell'apprendimento Canvas open source dal repository Github sul tuo server. Ma chi vuole digitare manualmente tutti quei comandi nel terminale? E dopotutto cosa ci differenzia dalle scimmie? Usare gli strumenti per l'automazione sì!

Lo script seguente automatizza la distribuzione di Canvas LMS su Ubuntu 22.04 utilizzando lo strumento di gestione della configurazione Ansible.

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

Come utilizzare Ansible per automatizzare l'installazione di Canvas LMS

Preparare il server

Inizia installando Ansible e Git sul tuo server.

$ sudo apt install ansible git

Clona il repository con lo script di installazione di Canvas LMS

Clone Installazione ansible di Canvaslms repository da Github.

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

Crea inventario per Ansible

Create an Ansible inventory file from the file “production.example” and replace ip_server_web, ip_server_db, ip_server_redis con indirizzi IP o nomi host dei tuoi server.

$ cp production.example production
$ vim production

Se stai installando su localhost puoi inserire qualcosa del genere nel file di inventario:

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

Modificare le variabili

Quindi copia e modifica il file delle variabili:

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

Il file delle variabili è autoesplicativo, ma ecco un esempio nel caso avessi ancora dei dubbi.

variables file for ansible playbook
File delle variabili per il playbook Ansible

Esegui il playbook Ansible per installare il sistema Canvas LMS open source

Una volta terminato l'inventario e le variabili, puoi finalmente eseguire il playbook che svolge tutto il lavoro installando Canvas LMS sul tuo server. Alcune delle attività nel playbook, come ad esempio installazione del filo E risorse di compilazione Canvas l'attività richiede un tempo decente per essere completata, quindi prenditi una pausa di 10-15 minuti dal computer e consenti ad Ansible di svolgere il lavoro.

$ 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

Invece di eseguire l'installazione completa, è possibile installare singolarmente solo i componenti del server Web, del server database o del server Redis eseguendo i playbook webservers.yml, dbservers.yml o redis.yml.

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

In sintesi: l'automazione semplifica la vita!

L'installazione manuale del sistema Canvas LMS open source richiede molto tempo ed è soggetta a errori. Utilizza strumenti di automazione come script bash, Python e Ansible per liberarti dalla necessità di digitare ripetutamente comandi nel terminale!