call_learning.moodle

Ansible 角色: Moodle

CI 测试 代码检查

在 RedHat 和 Debian/Ubuntu 服务器上安装 Moodle(4.1+)。 已在 Ansible 6.0 上测试。

需求

需要最新的 Ubuntu 或 REL 的 LTS 版本,安装 PHP 8.0+、Apache 2.4 和 Postgres 或 Mysql。

角色变量

可用变量在下面列出,并带有默认值(查看 defaults/main.yml)。

依赖项

如果主机已安装和设置 LAMP 堆栈(或类似)环境,则不需要依赖项。 如果需要安装完整的环境,建议检查:

  • geerlingguy.php(安装 PHP 8.x 或更早版本)
  • geerlingguy.apache(安装 Apache 2.x)
  • geerlingguy.postgresql(安装 Postgres)
  • geerlingguy.mysql(安装 Mysql)

示例剧本

许可协议

MIT / BSD

作者信息

该角色由 Laurent David 于 2017 年创建,基于 Jeff Geerling 的角色模板,后者是 Ansible for DevOps 的作者。

测试

先决条件

您必须安装以下内容:

  • ansible

我们使用了 Jeff Geerling 的测试作为基础,同时广泛使用 molecule。 我们目前使用 GitHub Actions 在每次提交时运行测试(您可以在 .github/workflow 文件夹中找到它们):

  • lint.yml 将对所有项目进行代码检查并检查任何语法错误
  • molecule.yml 将一个一个地运行每个场景,并检查 Ansible 剧本是否有效

注意:由于安装 Postgres 和 Mysql 需要时间,因此我们每个月使用 packer 对这些镜像进行预构建。 这个过程在 molecule-images 文件夹中进行,如果您只是想了解角色本身,可以安全忽略。

  • 启动 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
拥有者