Videreutvikling
Sette opp utviklingsmiljø
Installer GNU Make, Git, Python 3 og andre avhengigheter:
sudo apt install build-essential
sudo apt install git
sudo apt install python3 python3-pip python3-distutils python3-dev
Installer Pipenv:
pip3 install --user --upgrade pipenv
Pass på at pipenv ligger i $PATH:
export PATH="$HOME/.local/bin:$PATH"
Hent en kopi av repoet og initialiser Python-environmentet:
git clone git@github.com:imfdrift/discourseconnect
cd discourseconnect
mkdir .venv
pipenv sync
Konfigurere utviklingsmiljø
Django henter innstillinger fra fila .env i toppkatalogen.
Kopier eksempelfila env.example til .env og tilpass innholdet.
Defaultinnstillingene er stort sett OK, men merk at
DEBUG=True er nødvendig
for at manage.py runserver skal fungere ordentlig (servere staticfiles).
Se Django settings for en fullstendig oversikt over aktuelle innstillinger samt defaultinnstillinger.
Bruk av utviklingsmiljø
For å aktivere Python-environmentet:
pipenv shell
Første gangs initialisering av databasen:
./manage.py migrate
./manage.py createsuperuser
Start testserver:
./manage.py runserver
Linting av koden:
make lint
Kjøre automatiserte tester:
make test
Deaktivere Python-environmentet:
exit
Oppgradering av Python-pakker
For å sjekke om noen av pakkene vi bruker inneholder rapporterte sikkerhetshull:
pipenv check
For å oppgradere til nyeste versjon av Python-pakkene,
innenfor versjonsbegrensningene angitt i Pipfile:
pipenv update
pipenv update oppgraderer Python-environmentet, og skriver ut nye
Pipenv og Pipenv.lock-filer. Commit så disse til repoet:
git add Pipenv Pipenv.lock
git commit
Bygge dokumentasjon
For å kompilere dokumentasjonen i docs/, kjør:
make docs
Dokumentasjonen havner i ../docs/, dvs. utenfor repoet.
Denne katalogen må opprettes manuelt første gang.
Årsaken til dette er at katalogen repoet ligger i er nedlåst (kun wsgi-brukerkontoen har tilgang), mens dokumentasjonen må være tilgjengelig for brukerkontoen webserveren kjører under.