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 Canvas 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 ansibleインストール 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

インストールしている場合 localhost インベントリファイルにこのようなものを記入できます:

[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プレイブックのための変数ファイル

オープンソースのCanvas LMSシステムをインストールするためにAnsibleプレイブックを実行します

インベントリと変数の準備が整ったら、最終的にプレイブックを実行できます。これにより、サーバーにCanvas LMSがインストールされるすべての作業が行われます。プレイブック内のいくつかのタスク、例えば yarnのインストール そして canvasアセットのコンパイル タスクは完了するのに適切な時間がかかるため、コンピュータから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などの自動化ツールを利用して、ターミナルにコマンドを何度も入力する手間から解放されましょう!