call_learning.moodle
Ansible ロール: Moodle
RedHatおよびDebian/UbuntuサーバーにMoodle (4.1以上) をインストールします。 Ansible 6.0でテスト済み
要件
PHP 8.0以上、Apache 2.4、PostgresまたはMysqlがインストールされている最近のLTSリリースのUbuntuまたはRELが必要です。
ロール変数
利用可能な変数は以下にリストされています。デフォルト値も含まれています(defaults/main.yml
を参照):
依存関係
ホストがLAMPスタック (または類似の) 環境でインストールされている場合、依存関係はありません。 完全な環境をインストールする必要がある場合は、以下を確認することをお勧めします:
- geerlingguy.php (PHP 8.xまたはそれ以前のインストール)
- geerlingguy.apache (Apache 2.xのインストール)
- geerlingguy.postgresql (Postgresのインストール)
- geerlingguy.mysql (Mysqlのインストール)
例プレイブック
ライセンス
MIT / BSD
著者情報
このロールは、2017年にLaurent Davidによって作成され、Jeff Geerlingのロールテンプレートを基にしています。彼はAnsible for DevOpsの著者です。
テスト
前提条件
以下がインストールされている必要があります:
- ansible
Jeff Geerlingのテストをベースにしており、それはmoleculeを広範囲に使用しています。 現在、各コミットごとにテストを実行するためにGitHub Actionを使用しています(.github/workflowフォルダ内にあります):
- lint.ymlはプロジェクト全体をリンティングし、構文エラーがないかチェックします。
- molecule.ymlは各シナリオを順番に実行し、Ansibleプレイブックが有効かどうかをチェックします。
注意:PostgresとMysqlのインストールは元のJeff Geerlingのイメージから時間がかかります。 そのため、毎月packerを使用してこれらのイメージを事前に構築するプロセスがあります。このプロセスは、役割自体に関する情報を探しているだけの場合は安全に無視できます。
- Dockerを起動した後、以下のコマンドでプレイブックを再実行できます:
container_id=xxxxyyy
docker exec --tty $container_id env TERM=xterm ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml
特定のプレイブック、例えばcheck_moodle.pyの部分をテストしたい場合:
container_id=xxxxyyy
docker exec $container_id env TERM=xterm env ANSIBLE_FORCE_COLOR=1 ansible-playbook -i 'localhost,' -M /etc/ansible/roles/role_under_test/library /etc/ansible/roles/role_under_test/tests/test-check-moodle.yml
ライブラリテスト
ライブラリフォルダ内にMoodleがインストール/設定されているかをチェックする小さなモジュールがあります。 詳細はライブラリフォルダのREADME.mdを参照してください。
#TODO
- タスクにタグ付け
- Moodleのインストールを実行せずに純粋にセットアップ(フォルダとソースコードのみ)
- Moodleのインストールを伴うインストール
- ... パスワード変更、アップデート、データベースのダンプなどのオプションタスク ...
ansible-galaxy install call_learning.moodle