automation featured image

Kaip automatizuoti drobės LMS diegimą naudojant Ansible

Straipsnyje Kaip įdiegti „Canvas LMS“ Ubuntu 22.04 Pateikiau veiksmus, kaip įdiegti atvirojo kodo „Canvas“ mokymosi valdymo sistemą iš „Github“ saugyklos į jūsų serverį. Bet kas nori įvesti visas šias komandas į terminalą rankiniu būdu? O kuo mes vis dėlto skiriamės nuo beždžionių? Naudojant automatizavimo įrankius!

Toliau pateiktas scenarijus automatizuoja Canvas LMS diegimą Ubuntu 22.04 naudojant Ansible konfigūracijos valdymo įrankį.

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

Kaip naudoti Ansible to Automate Canvas LMS diegimą

Paruoškite serverį

Pradėkite savo serveryje įdiegę Ansible ir Git.

$ sudo apt install ansible git

Klonuokite saugyklą naudodami „Canvas LMS“ diegimo scenarijų

Klonuoti canvaslms ansible instaliacija saugykla iš Github.

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

Sukurkite „Ansible“ inventorių

Create an Ansible inventory file from the file “production.example” and replace žiniatinklio_serverio_ip, db_serverio_ip, redis_serverio_ip su savo serverių IP adresais arba prieglobos pavadinimais.

$ cp production.example production
$ vim production

Jei diegiate ant vietinis šeimininkas galite įdėti kažką panašaus į inventoriaus failą:

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

Keisti kintamuosius

Toliau nukopijuokite ir redaguokite kintamųjų failą:

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

Kintamųjų failas yra savaime suprantamas, bet čia yra pavyzdys, jei vis dar turite abejonių.

variables file for ansible playbook
Kintamųjų failas, skirtas Ansible žaidimų knygai

Paleiskite Ansible playbook, kad įdiegtumėte atvirojo kodo Canvas LMS sistemą

Baigę inventorizaciją ir kintamuosius, pagaliau galite paleisti žaidimų knygą, kuri atlieka visą darbą įdiegiant „Canvas LMS“ jūsų serveryje. Kai kurios žaidimo knygelės užduotys, pvz verpalų montavimas ir drobės rinkti turtą užduočiai atlikti reikia pakankamai laiko, todėl padarykite 10–15 minučių pertrauką prie kompiuterio ir leiskite Ansible atlikti užduotį.

$ 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

Užuot atlikę visą diegimą, galite atskirai įdiegti tik žiniatinklio serverio, duomenų bazės serverio arba redis serverio komponentus, paleisdami webservers.yml, dbservers.yml arba redis.yml žaidimų knygas.

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

Santrauka: automatizavimas palengvina gyvenimą!

Neautomatinis atvirojo kodo Canvas LMS sistemos diegimas užima daug laiko ir dažnai pasitaiko klaidų. Naudokite automatizavimo įrankius, tokius kaip „bash“ scenarijai, „Python“ ir „Ansible“, kad nebereikėtų vesti komandų į terminalą!