Django mit git deployen

19. März 2021 0 Von glanzel

Um die lokal erzeugte Webanwendung auf den Server zu bekommen eignet sich git.

Wer keine eigenen git Service betreibt kann hier zb bitbucket oder ähnliche verwenden. Dazu erstelle ich auf Bitbucket ein leeres repoitory

und clone mir die lokal in ein tmporäres verzeichniss und kopiere mir die gitinfos dann in mein bereits bestehendes verzeichnis

cd tmp
git clone https://NAME@bitbucket.org/.../wtdemo.git
cp wtdemo/* /var/www/py/wtdemo

cd /var/www/py/wtdemo

dort kann das bereits lokal erzeugte projekt dann dem bitbucket repository hinzugefügt werden.
git add *
git commit -m "initial"
git push

In eurem Shared Hosting kann dann die webapp per git clone und git pull heruntergeladen und aktualisiert werden (oder alternativ im AdminInterface zb Plesk oder ähnlich)

Um die abhängigkeiten transportieren zu können gibt es verschiedene Möglichkeiten.

Alle Rechte vorhanden
Dürft ihr auf eurem shared space python oder pip ausführen ist vermutlich die sauberste Lösung alles in der requirements.txt zu hinterlegen und dann auf dem webspace zu installieren:

lokal:
source env/bin/activate
pip freeze > requirements.txt

auf dem server:
python3 -m venv env
source env/bin/activate

pip install -r requirements.txt

hier muss dann das komplette env ins gitignore geschrieben werden

Nur begrenzte Berechtigung
Geht das nicht muss das env verzeichniss im git verbleiben. Die nötigen Python Apps werden dann einfach mitkopiert. Es kann dann allerding auch nicht per terminal eingebunden werden