开源项目 openedx/configuration
使用教程
1. 项目的目录结构及介绍
configuration/
├── playbooks/
│ ├── edx-east.yml
│ ├── edx-east-rebuild.yml
│ ├── edx-east-redeploy.yml
│ ├── edx-east-restart.yml
│ ├── edx-east-rollback.yml
│ ├── edx-east-upgrade.yml
│ ├── edx-west.yml
│ ├── edx-west-rebuild.yml
│ ├── edx-west-redeploy.yml
│ ├── edx-west-restart.yml
│ ├── edx-west-rollback.yml
│ ├── edx-west-upgrade.yml
│ └── ...
├── roles/
│ ├── common/
│ ├── edxapp/
│ ├── nginx/
│ ├── mongo/
│ ├── mysql/
│ ├── rabbitmq/
│ ├── redis/
│ └── ...
├── scripts/
│ ├── aws/
│ ├── boto/
│ ├── ec2/
│ ├── gce/
│ ├── openstack/
│ └── ...
├── templates/
│ ├── edxapp/
│ ├── nginx/
│ ├── mongo/
│ ├── mysql/
│ ├── rabbitmq/
│ ├── redis/
│ └── ...
├── tests/
│ ├── integration/
│ ├── unit/
│ └── ...
├── .gitignore
├── .travis.yml
├── ansible.cfg
├── CHANGELOG.rst
├── CONTRIBUTING.rst
├── LICENSE
├── README.rst
├── requirements.txt
└── setup.py
目录结构介绍
- playbooks/: 包含用于部署和管理 Open edX 实例的 Ansible playbooks。
- roles/: 包含各种角色的配置,如
edxapp
,nginx
,mongo
,mysql
,rabbitmq
,redis
等。 - scripts/: 包含用于 AWS, GCE, OpenStack 等云服务的脚本。
- templates/: 包含各种配置文件的模板。
- tests/: 包含集成测试和单元测试。
- .gitignore: Git 忽略文件列表。
- .travis.yml: Travis CI 配置文件。
- ansible.cfg: Ansible 配置文件。
- CHANGELOG.rst: 项目变更日志。
- CONTRIBUTING.rst: 贡献指南。
- LICENSE: 项目许可证。
- README.rst: 项目说明文档。
- requirements.txt: 项目依赖文件。
- setup.py: 项目安装脚本。
2. 项目的启动文件介绍
主要启动文件
- playbooks/edx-east.yml: 用于在东海岸数据中心部署 Open edX 实例。
- playbooks/edx-west.yml: 用于在西海岸数据中心部署 Open edX 实例。
启动流程
-
克隆项目:
git clone https://github.com/openedx/configuration.git cd configuration
-
配置 Ansible:
cp ansible.cfg.example ansible.cfg
-
运行 Playbook:
ansible-playbook playbooks/edx-east.yml
3. 项目的配置文件介绍
主要配置文件
- ansible.cfg: Ansible 配置文件,包含主机、角色、库等配置。
- requirements.txt: 项目依赖文件,包含所需的 Python 包。
- roles/ 目录下的各个角色配置文件,如
roles/edxapp/defaults/main.yml
包含edxapp
的默认配置。
配置示例
ansible.cfg
[defaults]
inventory = hosts
roles_path = roles
library = library
roles/edxapp/defaults/main.yml
edxapp_user: edxapp
edxapp_home: /edx/app/edxapp
edxapp_settings: lms
通过以上配置文件,可以灵活地调整 Open edX 实例的