- VirtualBox (https://www.virtualbox.org/)
- Vagrant 2.0 lub nowszy (https://www.vagrantup.com/)
Sklonuj repozytorium backend
:
git clone https://gitlab.dane.gov.pl/mcod/backend.git
Przejdź do katalogu z projektem backend
i sklonuj repozytoria test-data
oraz frontend
:
cd backend
git clone https://gitlab.dane.gov.pl/mcod/test-data.git
git clone https://gitlab.dane.gov.pl/mcod/frontend.git
W katalogu z projektem backend
wykonaj:
vagrant up --provision
Proces budowania środowiska może trwać nawet kilkadziesiąt minut.
Otwórz plik /etc/hosts (lub C:\Windows\System32\Drivers\etc w systemie MS Windows) jako root (lub administrator) i dodaj do niego następujące linie:
172.28.28.28 mcod.local
172.28.28.28 www.mcod.local
172.28.28.28 api.mcod.local
172.28.28.28 svr.mcod.local
Aby uruchomić środowisko lokalne, w katalogu projektu backend
wykonaj:
vagrant up
Aby zatrzymać środowisko lokalne, w katalogu projektu backend
wykonaj:
vagrant halt
Po uruchomieniu środowiska lokalnego, otwórz przeglądarkę WWW i przejdź do adresu http://svr.mcod.local by otworzyć panel zarządzania usługami.
Korzystając z panelu, uruchom/zatrzymaj wybrane, bądź wszystie usługi.
Po uruchomieniu usługi, pod adresem http://admin.mcod.local będzie dostępny panel administracyjny (login: admin@mcod.local, hasło: Otwarte.1)
Po uruchomieniu usługi pod adresem http://api.mcod.local bedzie dostępne API projektu.
Po uruchomieniu usługi, po upływie ok 1 minuty, pod adresem http://www.mcod.local bedzie dostępna aplikacja WWW - portal Otwarte Dane.
Do prawidłowego funkcjonowania niezbędne jest uruchomienie usługi API.
Uruchomienie usługi jest niezbędne, jeżeli zamierzamy korzystać z zadań asynchronicznych, takich jak wysyłanie mailu czy walidacja plików zasobów.
W katalogu z projektem backend
wykonaj poniższe polecenia by zalogować się na maszynę wirtualną środowiska lokalnego i uruchomić VirtualEnv projektu:
vagrant ssh
supervisorctl stop
workon mcod
Za pomocą polecenia pwd
sprawdź, czy jesteś w katalogu /vagrant
Wszystkie poniższe polecenia wykonujemy na maszynie wirtualnej, w środowisku virtuaenv i z katalogu /vagrant
.
Upewnij się, że na porcie 8000 nie jest uruchomiona żadna instancja API
supervisorctl stop api
netstat -nltp | grep 8000
By uruchomić API wykonaj
python mcod.api.py
API będzie dostępne na hoście pod następującymi adresami:
Upewnij się, że na porcie 8080 nie jest uruchomiona żadna instancja panelu administracujnego
supervisorctl stop admin
netstat -nltp | grep 8080
By uruchomić panel administracyjny, wykonaj
python manage.py runserver 0:8080
Aplikacja będzie dostępna na hoście pod następującymi adresami:
- http://172.28.28.28:8080/
- http://admin.mcod.local
- http://mcod.local:8080
- http://admin.mcod.local:8080
Upewnij się, że na porcie 8081 nie jest uruchomiona żadna instancja aplikacji WWW.
supervisorctl stop admin
netstat -nltp | grep 8080
By uruchomić aplikację WWW wykonaj:
/vagrant/frontend/node_modules/.bin/ng serve --host 0.0.0.0 --port 8081 --proxy-config /vagrant/frontend/local-proxy.conf.json
Aplikacja będzie dostępna na hoście pod następującymi adresami:
Upewnij się, że nie są uruchomione inne instance celery
supervisorctl stop celery
By uruchomić celery, wykonaj
celery --app=mcod.celeryapp:app worker -B -l info
Wszystkie poniższe polecenia wykonujemy na maszynie wirtualnej, w środowisku virtuaenv i z katalogu /vagrant
.
pytest mcod
python manage.py search_index --rebuild -f
python manage.py validate_resources --pks <id_1,...,id_N>
python manage.py index_file --pks <id_1,...,id_N>