Einleitung
Dieses Kapitel soll dir einen Einstieg bieten, um dein lokales Entwickler-Setup aufzusetzen damit du mit der SQUEEZE auf deinem Rechner starten kannst.
Dazu werden folgende Vorraussetzungen benötigt:
2. Routing Einrichtung für *.localhost (macOS) (um squeeze.docker.localhost aufrufen zu können)
5. SSH-Key anlegen/in Azure DevOps hinterlegen
Repository lokal klonen
- Terminal/CMD öffnen und in einen Ordner deiner Wahl wechseln
- das SQUEEZE-Repo mit
git clone git@ssh.dev.azure.com:v3/DEXPRO/DEXPRO%20Platform/SQUEEZEklonen
Danach kann das Projekt in der IDE z.B. PHPStorm geöffnet werden.
Docker Registry Login
Um Docker-Images aus unserer Firmen-Registry laden zu können, musst du dich lokal anmelden.
Befolge dazu die Anweisungen in den Abschnitten "Erster Login" und "Einloggen auf der lokalen CLI/im Terminal" auf dieser Seite.
Initiales Setup
Lege zuerst eine docker-compose.override.yml mit folgendem Inhalt an:
services:
squeeze:
logging:
driver: "local"
options:
max-size: "25m"
max-file: "3"
environment:
# SQZ_WORKER_MANAGER_URL: "http://host.docker.internal:86"
# SQZ_WORKER_MANAGER_ACTIVE: "false"
# CLOCKWORK_ENABLED: "true"
PHP_IDE_CONFIG: "serverName=Docker"
XDEBUG_MODE: "debug" # use "off" to temporarily turn of the debugger
XDEBUG_CONFIG: client_host=host.docker.internal
external_links:
- az-proxy-laravel.test-1:ocr-proxy
- portal-laravel.test-1:portal
volumes:
- .:/var/www/html/squeeze
- ./docker/volumes/repository:/var/www/html/repository:rw
- ./docker/volumes/logs/backend:/var/www/html/logs:rw
worker:
environment:
# SQZ_WORKER_MANAGER_URL: "http://host.docker.internal:86"
# SQZ_WORKER_MANAGER_ACTIVE: "false"
# SQZ_WORKER_MANAGER_FORCE: "false"
SQZ_WORKER_DEBUG: "true"
PHP_IDE_CONFIG: "serverName=Docker"
SQZ_USE_TENANT_HOST_FOR_API_CALLS: "1"
XDEBUG_MODE: "debug" # use "off" to temporarily turn of the debugger
XDEBUG_CONFIG: client_host=host.docker.internal idekey=Docker
external_links:
- az-proxy-laravel.test-1:ocr-proxy
- portal-laravel.test-1:portal
volumes:
- .:/var/www/html/squeeze
- ./docker/volumes/repository:/var/www/html/repository:rw
- ./docker/volumes/logs/worker:/var/www/html/logs:rw
squeeze-system-api:
environment:
PHP_IDE_CONFIG: "serverName=Docker"
XDEBUG_MODE: "debug" # use "off" to temporarily turn of the debugger
XDEBUG_CONFIG: client_host=host.docker.internal
volumes:
- .:/var/www/html/squeeze
- ./docker/volumes/repository:/var/www/html/repository:rw
- ./docker/volumes/logs/backend:/var/www/html/logs:rw
mariadb:
ports:
- 3306:3306
elastic:
ports:
- 9200:9200
rabbitmq:
ports:
- 5672:5672
filebeat-squeeze:
volumes:
- ./docker/volumes/logs/backend:/mnt/logs/backend:ro
- ./docker/volumes/logs/worker:/mnt/logs/worker:ro
- ./docker/volumes/logs/systemapi:/mnt/logs/systemapi:ro
frontend:
platform: linux/amd64
# traefik:
# networks:
# freeze:
#networks:
# freeze:
# external: true
# name: freeze_default
Im SQUEEZE-Repository kannst du Squeeze mit den folgenden Commands aufsetzen
- task up (Startet den docker-compose stack)
- task setup-server (Richtet eine neue Squeeze Instanz ein)
- task setup-tenant (Setzt den Tenant squeeze.docker.localhost)
- docker compose restart worker
- task brt (Verarbeitet ein Test-Dokument in dem Tenant squeeze.docker.localhost)
- Wenn beim `task brt` ein berechtigungsfehler auftritt:
git config --global core.fileMode false mkdir -p ./storage/tmp/squeeze.docker.localhost/Documents chmod 777 -R ./storage/tmp/squeeze.docker.localhost
- Wenn beim `task brt` ein berechtigungsfehler auftritt:
Das SQUEEZE-Frontend sollte nun unter http://squeeze.docker.localhost/ui/app/squeeze erreichbar sein.
Die SQUEEZE V2 Swagger Doc findest du unter http://squeeze.docker.localhost/api/v2/dist/.
SQUEEZE-Stack zurücksetzen
Möchtest du deinen SQUEEZE-Stack für ein Review o.ä. neu aufsetzen, gibt es dafür das Command `task reset`.
Das Command löscht die Container und alle Daten der Docker Volumes, danach werden automatisch die Schritte aus dem Setup oben durchlaufen.
Weitere Task Commands für die Entwicklung
Im Taskfile.dist.yml im Repository sind weiter nützliche Tasks für die Entwicklung definiert. Du kannst dir diese einfach mit dem Ausführen von task im Repo anzeigen lassen:

No comments to display
No comments to display