Public
Authored by Sascha Stopper

FRGD - GIT und Docker Konfiguration

Verwendete Tools:

  • GIT Server
  • git-flow
  • docker, docker-compose
  • DNSMASQ + jwilder/nginx-proxy
  • node / npm / gulp

Unsere Projekte sind in der Regel Dockerbasierte Container mit docker-compose Konfiguration. Es gibt hierbei mindestens 2 Konfiguration für die lokale Entwicklung (docker-compose.override.yml) und für unseren Staging Server (docker-compose.staging.yml) Läuft das Hosting auf unseren Servern gibt es auch noch eine Konfiguration für die Live Umgebung (docker-compose.production.yml)

Gespeichert sind unsere Projekte auf unserem eigenen GIT-Server Unsere Projekte sind normalerweise mittels git-flow initialisiert. D.h. wir arbeiten innerhalb des "developer" Branches

Projekte lassen sich zum testen auf unseren Staging Server pushen mittels git push origin develop:staging

Unser Staging Server holt sich dann das aktuelle Projekt vom GIT-Server und baut den Docker-Container komplett neu.

  • SCSS / JS Build Skripte Zum dynamischen bauen des CSS verwenden wir in der Regel Gulp Tasks Diese laufen auch innerhalb der Container und lassen sich wie folgt starten: docker-compose exec web npm run build oder docker-compose exec web npm run watch

  • Datenbank Handling Für den Import/Export der Datenbank gibt es zwei Skripte im /bin Ordner welche in den Dockercontainer kopiert werden. Anwendung: docker-compose exec web dbimport / docker-compose exec web dbexport

    Vor einem Push ins GIT sollte der dbexport vorher einmal ausgeführt werden

  • Proxy Konfiguration für lokale Entwicklung Unsere lokalen Docker Container nutzen die Domain Endung .dkr Hierfür haben wir lokal den DNSMASQ installiert [https://allanphilipbarku.medium.com/setup-automatic-local-domains-with-dnsmasq-on-macos-ventura-b4cd460d8cb3] Zusätzlich nutzen wir dann den Jwilder/Nginx-Proxy [https://hub.docker.com/r/jwilder/nginx-proxy/] Den starte ich i.d.R. im Terminal:

    docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro -v /Users/sascha/docker_nginx_proxy.conf:/etc/nginx/conf.d/my_proxy.conf jwilder/nginx-proxy

Edited
4 Bytes
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment