automation featured image

Kako automatizirati instalaciju Canvas LMS-a s Ansibleom

U članku Kako instalirati Canvas LMS na Ubuntu 22.04 Pružio sam korake za instalaciju open source sustava za upravljanje učenjem Canvas iz Github repozitorija na vlastiti poslužitelj. No tko želi ručno upisivati sve te naredbe u terminal? I što nas na kraju razlikuje od majmuna? Korištenje alata za automatizaciju to čini!

Skripta u nastavku automatizira implementaciju Canvas LMS-a na Ubuntu 22.04 koristeći Ansible alat za upravljanje konfiguracijom.

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

Kako koristiti Ansible za automatizaciju instalacije Canvas LMS-a

Pripremite poslužitelj

Započnite instalacijom Ansibla i Gita na vašem poslužitelju.

$ sudo apt install ansible git

Kloni repozitorij s instalacijskim skriptom za Canvas LMS

Kloni canvaslms ansible instalacija repozitorij s Githuba.

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

Kreirajte inventar za Ansible

Create an Ansible inventory file from the file “production.example” and replace ip_adresa_web_poslužitelja, ip_adresa_db_poslužitelja, ip_adresa_redis_poslužitelja s IP adresama ili nazivima vaših poslužitelja.

$ cp production.example production
$ vim production

Ako instalirate na localhost možete staviti nešto poput ovoga u datoteku inventara:

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

Modificirajte varijable

Sljedeće kopirajte i uredite datoteku varijabli:

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

Datoteka varijabli je sama po sebi jasna, ali evo primjera u slučaju da još uvijek imate sumnje.

variables file for ansible playbook
Datoteka varijabli za Ansible playbook

Pokrenite Ansible playbook za instalaciju open source Canvas LMS sustava

Kada završite s inventarom i varijablama, konačno možete pokrenuti playbook koji obavlja sav posao instaliranja Canvas LMS-a na vašem poslužitelju. Neki od zadataka u playbooku, kao što su yarn instalacija i canvas kompilacija resursa zadaci zahtijevaju pristojno vrijeme za dovršetak, stoga uzmite 10-15 minuta pauze od računala i dopustite Ansibleu da obavi posao.

$ 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

Umjesto da izvršavate potpunu instalaciju, možete pojedinačno instalirati samo komponente web poslužitelja, poslužitelja baze podataka ili redis poslužitelja pokretanjem playbooka webservers.yml, dbservers.yml ili redis.yml.

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

Sažetak: automatizacija olakšava život!

Ručno instaliranje open source Canvas LMS sustava oduzima vrijeme i sklono je pogreškama. Iskoristite alate za automatizaciju poput bash skripti, Pythona i Ansibla kako biste se oslobodili ponavljanja unosa naredbi u terminal!