call_learning.moodle

Ansible ロール: Moodle

CI テスト リンティング

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のインストールを伴うインストール
    • ... パスワード変更、アップデート、データベースのダンプなどのオプションタスク ...
プロジェクトについて

Moodle CentOS/Debian/Ubuntu.

インストール
ansible-galaxy install call_learning.moodle
ライセンス
mit
ダウンロード
352
所有者