Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
breakoutModewide
languagenone
# Clone edx-platform and switch to my branch.
$ git clone git@github.com:openedx/edx-platform
$ (cd edx-platform && git checkout $B)

# Install Tutor Nightly.
$ virtualenv tutor-venv
$ source tutor-venv/bin/activate
$ git clone --branch nightly git@github.com:overhangio/tutor
$ cd tutor
$ pip install -r requirements/dev.txt
$ pip install -e .

# Provision Tutor.
$ tutor local quickstart
$ tutor local stop

# Copy edx-platform virtual environment to host.
$ tutor dev start lms
$ tutor dev bindmount lms /openedx/venv
$ tutor dev stop lms
$ tutor dev dc rm

# Configure Tutor to mount your local edx-platform and virtual environment
# by writing a env/dev/docker-compose.override.yml file to your Tutor env.
# The syntax for each mount is $HOST_PATH:$DOCKER_PATH.
# Be sure to substitute in the appropriate $HOST_PATH for each mount.
$ cat > $(tutor config printroot)/env/dev/docker-compose.override.yml <<- EOF
version: "3.7"
services:
  lms:
    volumes:
      - /home/kyle/openedx/edx-platform:/openedx/edx-platform
      - /home/kyle/.local/share/tutor-nightly/volumes/venv:/openedx/venv
  cms:
    volumes:
      - /home/kyle/openedx/edx-platform:/openedx/edx-platform
      - /home/kyle/.local/share/tutor-nightly/volumes/venv:/openedx/venv
  lms-worker:
    volumes:
      - /home/kyle/openedx/edx-platform:/openedx/edx-platform
      - /home/kyle/.local/share/tutor-nightly/volumes/venv:/openedx/venv
  cms-worker:
    volumes:
      - /home/kyle/openedx/edx-platform:/openedx/edx-platform
      - /home/kyle/.local/share/tutor-nightly/volumes/venv:/openedx/venv
EOF

# Install requirements, provision demo course, admin user and static assets.
$ tutor dev run lms make requirements
$ tutor dev run lms npm install
$ tutor dev run lms openedx-assets build --env=dev
$ tutor dev createuser admin admin@example.com --password admin --staff --superuser
$ tutor dev importdemocourse

# (NOT REQUIRED - JUST EXAMPLES) Run tests, linting, and a management command.
$ tutor dev run lms pytest path/to/some/code
$ tutor dev run lms pylint path/to/some/code
$ tutor dev run lms ./manage.py lms run_some_management_command
                            
# Run LMS and CMS.
$ tutor dev start -d lms cms

...