mirror of
https://github.com/ChristianLight/tutor.git
synced 2024-11-05 12:57:52 +00:00
85e7e45067
We replace the custom script wait-for-greenlight by dockerize: it is a generic tool that allows for different services to be up. Also, on day, it will allow us to generate config files dynamically (maybe).
112 lines
3.5 KiB
Makefile
112 lines
3.5 KiB
Makefile
.PHONY: all android configure build update migrate assets up daemon
|
|
|
|
USERID ?= $$(id -u)
|
|
EDX_PLATFORM_SETTINGS ?= universal.production
|
|
DOCKER_COMPOSE_RUN = docker-compose run --rm
|
|
DOCKER_COMPOSE_RUN_OPENEDX = $(DOCKER_COMPOSE_RUN) -e USERID=$(USERID) -e SETTINGS=$(EDX_PLATFORM_SETTINGS)
|
|
ifneq ($(EDX_PLATFORM_PATH),)
|
|
DOCKER_COMPOSE_RUN_OPENEDX += --volume="$(EDX_PLATFORM_PATH):/openedx/edx-platform"
|
|
endif
|
|
|
|
DOCKER_COMPOSE_RUN_LMS = $(DOCKER_COMPOSE_RUN_OPENEDX) -p 8000:8000 lms
|
|
DOCKER_COMPOSE_RUN_CMS = $(DOCKER_COMPOSE_RUN_OPENEDX) -p 8001:8001 cms
|
|
|
|
all: configure update migrate assets daemon
|
|
|
|
##################### Bootstrapping
|
|
|
|
configure:
|
|
./configure
|
|
|
|
update:
|
|
docker-compose pull
|
|
|
|
provision:
|
|
$(DOCKER_COMPOSE_RUN) lms bash -c "dockerize -wait tcp://mysql:3306 && bash /openedx/config/provision.sh"
|
|
|
|
migrate-openedx:
|
|
$(DOCKER_COMPOSE_RUN_OPENEDX) lms bash -c "dockerize -wait tcp://mysql:3306 && ./manage.py lms migrate"
|
|
$(DOCKER_COMPOSE_RUN_OPENEDX) cms bash -c "dockerize -wait tcp://mysql:3306 && ./manage.py cms migrate"
|
|
|
|
migrate-forum:
|
|
$(DOCKER_COMPOSE_RUN) forum bash -c "bundle exec rake search:initialize && \
|
|
bundle exec rake search:rebuild_index"
|
|
|
|
migrate-xqueue:
|
|
$(DOCKER_COMPOSE_RUN) xqueue bash -c "./manage.py migrate"
|
|
|
|
migrate: provision migrate-openedx migrate-forum migrate-xqueue
|
|
|
|
assets:
|
|
$(DOCKER_COMPOSE_RUN_OPENEDX) lms paver update_assets lms --settings=$(EDX_PLATFORM_SETTINGS)
|
|
$(DOCKER_COMPOSE_RUN_OPENEDX) cms paver update_assets cms --settings=$(EDX_PLATFORM_SETTINGS)
|
|
|
|
##################### Running
|
|
|
|
up:
|
|
docker-compose up
|
|
|
|
daemon:
|
|
docker-compose up -d && \
|
|
echo "Daemon is up and running"
|
|
|
|
stop:
|
|
docker-compose stop
|
|
|
|
##################### Extra
|
|
|
|
import-demo-course:
|
|
$(DOCKER_COMPOSE_RUN_OPENEDX) cms /bin/bash -c "git clone https://github.com/edx/edx-demo-course ../edx-demo-course && git -C ../edx-demo-course checkout open-release/ginkgo.master && python ./manage.py cms import ../data ../edx-demo-course"
|
|
|
|
create-staff-user:
|
|
$(DOCKER_COMPOSE_RUN_OPENEDX) lms /bin/bash -c "./manage.py lms manage_user --superuser --staff ${USERNAME} ${EMAIL} && ./manage.py lms changepassword ${USERNAME}"
|
|
|
|
|
|
##################### Development
|
|
|
|
lms:
|
|
$(DOCKER_COMPOSE_RUN_LMS) bash
|
|
cms:
|
|
$(DOCKER_COMPOSE_RUN_CMS) bash
|
|
|
|
lms-shell:
|
|
$(DOCKER_COMPOSE_RUN_OPENEDX) lms ./manage.py lms shell
|
|
cms-shell:
|
|
$(DOCKER_COMPOSE_RUN_OPENEDX) cms ./manage.py cms shell
|
|
|
|
|
|
#################### Android app
|
|
|
|
android:
|
|
docker-compose -f docker-compose-android.yml run --rm android
|
|
@echo "Your APK file is ready: ./data/android/edx-prod-debuggable-2.14.0.apk"
|
|
|
|
android-release:
|
|
# Note that this requires that you edit ./config/android/gradle.properties
|
|
docker-compose -f docker-compose-android.yml run --rm android ./gradlew assembleProdRelease
|
|
|
|
android-build:
|
|
docker build -t regis/openedx-android:latest android/
|
|
android-push:
|
|
docker push regis/openedx-android:latest
|
|
android-dockerhub: android-build android-push
|
|
|
|
|
|
#################### Deploying to docker hub
|
|
|
|
build:
|
|
# We need to build with docker, as long as docker-compose cannot push to dockerhub
|
|
docker build -t regis/openedx:latest -t regis/openedx:ginkgo openedx/
|
|
docker build -t regis/openedx-forum:latest -t regis/openedx-forum:ginkgo forum/
|
|
docker build -t regis/openedx-xqueue:latest -t regis/openedx-xqueue:ginkgo xqueue/
|
|
|
|
push:
|
|
docker push regis/openedx:ginkgo
|
|
docker push regis/openedx:latest
|
|
docker push regis/openedx-forum:ginkgo
|
|
docker push regis/openedx-forum:latest
|
|
docker push regis/openedx-xqueue:ginkgo
|
|
docker push regis/openedx-xqueue:latest
|
|
|
|
dockerhub: build push
|