automation featured image

Ansible을 사용하여 Canvas LMS 설치를 자동화하는 방법

기사에서 Ubuntu 22.04에 Canvas LMS를 설치하는 방법 Github 저장소의 오픈 소스 Canvas 학습 관리 시스템을 자체 서버에 설치하는 단계를 제공했습니다. 하지만 누가 그 모든 명령을 터미널에 수동으로 입력하고 싶겠습니까? 결국 우리가 원숭이와 다른 점은 무엇입니까? 자동화 도구를 사용하면 됩니다!

아래 스크립트는 Ansible 구성 관리 도구를 사용하여 Ubuntu 22.04에서 Canvas LMS 배포를 자동화합니다.

Before you begin installation check out our 캔버스 LMS 호스팅 서비스. You can start using the LMS right away without need to manage own servers.

Ansible을 사용하여 Canvas LMS 설치를 자동화하는 방법

서버 준비

서버에 Ansible과 Git을 설치하여 시작해 보세요.

$ sudo apt install ansible git

Canvas LMS 설치 스크립트를 사용하여 저장소 복제

클론 canvaslms 앤서블 설치 Github의 저장소.

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

Ansible용 인벤토리 생성

Create an Ansible inventory file from the file “production.example” and replace web_server_ip, db_server_ip, redis_server_ip 서버의 IP 주소 또는 호스트 이름으로.

$ cp production.example production
$ vim production

에 설치하는 경우 로컬호스트 인벤토리 파일에 다음과 같은 내용을 넣을 수 있습니다.

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

변수 수정

다음으로 변수 파일을 복사하고 편집합니다.

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

변수 파일은 설명이 필요 없지만 여전히 의심스러운 경우를 대비하여 다음 예가 있습니다.

variables file for ansible playbook
Ansible 플레이북용 변수 파일

Ansible 플레이북을 실행하여 오픈 소스 Canvas LMS 시스템 설치

인벤토리 및 변수 작업이 완료되면 마침내 서버에 Canvas LMS를 설치하는 모든 작업을 수행하는 플레이북을 실행할 수 있습니다. 다음과 같은 플레이북의 일부 작업 원사 설치 그리고 캔버스 컴파일 자산 작업을 완료하는 데 상당한 시간이 걸리므로 컴퓨터에서 10~15분 정도 휴식을 취하고 Ansible이 작업을 수행하도록 하십시오.

$ 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

전체 설치를 실행하는 대신 webservers.yml, dbservers.yml 또는 redis.yml 플레이북을 실행하여 웹 서버, 데이터베이스 서버 또는 Redis 서버 구성 요소만 개별적으로 설치할 수 있습니다.

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

요약: 자동화는 삶을 더 쉽게 만듭니다!

오픈 소스 Canvas LMS 시스템을 수동으로 설치하는 데는 시간이 많이 걸리고 오류가 발생하기 쉽습니다. bash 스크립트, Python 및 Ansible과 같은 자동화 도구를 활용하여 터미널에 명령을 반복해서 입력할 필요가 없습니다!