Build trwa za długo. Głównie ze względu na brak cachowania paczek. Przy pierwszym buildzie nowego brancha budujemy wszystko od nowa, a powinniśmy cachować node_modules oraz paczki instalowane przez poetry.
Serwisy powinny posiadać w swoim pliku .env tylko te secrety, które potrzebują. Serwis `frontend` nie powinien widzieć `secret environments` od serwisu `backend` itd.
Rozmieszczenie plików konfiguracyjncyh oraz plików związanych z Dockerem jest niejasne. Każdy serwis powinien mieć swój osobny folder, gdzie znajdowałaby się konfiguracja.
[ ] Podziel aplikacje na następujące foldery: backend, frontend, nginx, mobile, deployment (wszystkie utilsy dla CI/CD, pliki .env, skrypty CI/CD powiązane z całą aplikacją), w środku folderów z serwisami folder /docker z wszystkimi skryptami/Dockerfile potrzebnymi dla serwisu
[ ] Wszędzie zmienić nazwy web na backend oraz web-app na frontend
[ ] Refaktor docker-compose: depends_on, restart policies, environments przenieść do .env, gdzie się da, networks ustawić odpowiednio.
[ ] Pozbyć się deployu produkcyjnego za pomocą docker-compose
[ ] Napisać nowy deploy na podstawie budowania obrazów dockerowcyh oraz AWS; frontend pliki statyczne na S3, backend, nginx, celery na ECS, redis i baza w osobnych serwisach itd. (szczegóły do przemyślenia)
Drone:
Build trwa za długo. Głównie ze względu na brak cachowania paczek. Przy pierwszym buildzie nowego brancha budujemy wszystko od nowa, a powinniśmy cachować
node_modules
oraz paczki instalowane przezpoetry
.multiple branches
: https://laszlo.cloud/how-using-cache-from-can-speed-up-your-docker-builds-in-dronecisecret environments
dla poszczególnych serwisów. Na podstawie:/docker
z wszystkimi skryptami/Dockerfile potrzebnymi dla serwisuweb
nabackend
orazweb-app
nafrontend
depends_on
,restart policies
,environments
przenieść do .env, gdzie się da,networks
ustawić odpowiednio.Stary PR z próbą refactoru: https://github.com/skygate/skyexpo-matchmaking/pull/113