- naklonuj repozitář do pracovního adresáře
- ve Windows se může hodit Git for Windows
- nainstaluj Docker s podporou
docker compose, například Docker Desktop
- v kořenovém adresáři
membersspusť:
docker compose -p members-dev -f docker-compose.dev.yml up --build- do Visual Studio Code přidej Remote Explorer extension
- připoj Visual Studio Code ke kontejneru
members-dev-web-1 - otevři adresář
/var/www/html/members
Prostředí obsahuje Git, Playwright a další nástroje.
PHP debug ve Visual Studio Code:
- spusť konfiguraci
Listen for PHP Xdebugz.vscode/launch.json - Xdebug v dev image poslouchá na portu
9003a startuje se pro každý request
Konfigurační soubory, které aplikace v kontejneru používá, jsou publikované v gitu a připojené z docker/config/dev do www/cfg jako read-only. Upravuj proto soubory v docker/config/dev, ne jejich cíle v www/cfg.
Dostupné služby:
Bank mock pro vývoj:
docker compose -p members-dev -f docker-compose.dev.yml exec web npm run mock:bank- admin UI: http://127.0.0.1:10300/__testbench
- API endpoint pro PHP konektor:
http://127.0.0.1:10300/rbcz/premium/api - vývojová konfigurace v
docker/config/dev/_cfg.phpuž používáRaiffeisenbankMockConnector
ORIS mock pro vývoj:
docker compose -p members-dev -f docker-compose.dev.yml exec web npm run mock:oris- admin UI: http://127.0.0.1:10301/__testbench
- API endpoint pro ORIS mock:
http://127.0.0.1:10301/ - vývojová konfigurace v
docker/config/dev/_cfg.phpuž používá mock serverhttp://127.0.0.1:10301/
V kořenovém adresáři members spusť:
docker compose -p members-autotest -f docker-compose.autotest.yml up -d --build --wait
docker compose -p members-autotest -f docker-compose.autotest.yml exec web npm run test:e2e
docker compose -p members-autotest -f docker-compose.autotest.yml exec web npm run test:e2e:no-oris
docker compose -p members-autotest -f docker-compose.autotest.yml exec web npm run test:e2e:no-oris-key
docker compose -p members-autotest -f docker-compose.autotest.yml exec web npm run test:e2e:bank-errors
docker compose -p members-autotest -f docker-compose.autotest.yml exec web npm run test:e2e:oris-errors
docker compose -p members-autotest -f docker-compose.autotest.yml downPřepínač --wait počká, až budou kontejnery označené jako healthy. V autotest stacku to znamená, že je připravená databáze, běží web a bank a ORIS mock odpovídají na health endpoint, takže testy můžeš spustit hned po startu bez další prodlevy.
Sada no-oris opakuje testy nezávislé na ORIS s vypnutou integrací a ORIS mockem v režimu service_down (HTTP 503). Sada no-oris-key ponechá integraci i mock server zapnuté, ale aplikaci neposkytne klubový klíč. Obě sady po dokončení obnoví přesné předchozí síťové nastavení ORIS mocku a vynechávají ORIS workflow i samostatné testy chyb konektorů.
Sady bank-errors a oris-errors jsou záměrně oddělené od výchozího paralelního běhu. Přepínají globální chybové režimy příslušného mocku; ORIS sada navíc ověřuje import závodu a vytvoření i odstranění přihlášky při síťových a HTTP chybách.
Pro manuální testy nebo analýzu automatických testů přidej override soubor docker-compose.autotest.observe.yml:
docker compose -p members-autotest -f docker-compose.autotest.yml -f docker-compose.autotest.observe.yml up -d --build --wait
...Je potřeba ručně přenastavit _cfg.php na $g_baseadr='http://127.0.0.1:10090/members/';
Dostupné služby:
Vhodná pro manuální testování a změny nastavení.
- zkopíruj
members/www/cfg/_cfg.php.defaultdomembers/www/cfg/_cfg.phpa uprav jej, nebo použij připravený_cfg.php - zkopíruj
members/www/cfg/_globals.php.defaultdomembers/www/cfg/_globals.phpa uprav jej, nebo použij připravený_globals.php - zkopíruj
members/www/cfg/_tables.php.defaultdomembers/www/cfg/_tables.phpa uprav jej, nebo použij připravený_tables.php
Výsledná struktura:
members
├── www
│ └── cfg
│ ├── _cfg.php
│ ├── _globals.php
│ └── _tables.php
├── docker
│ └── db_init
└── ...
Spuštění:
docker compose up --buildPřihlášení do aplikace:
- members, heslo
54321 admin- administrátor, aktualizace databáze, opravytnov_1- přihlašovateltnov_2- trenértnov_3- oddílový administrátortnov_4- malý trenértnov_5- člentnov_6- finančník
Databáze:
- phpMyAdmin
- uživatel
root, heslodev4password
Práce s kontejnery:
- kód můžeš měnit z hosta i z kontejneru, aplikační logy jsou v
members/www/logs - CLI přístup do PHP kontejneru:
docker compose exec web bash- CLI přístup do databáze:
docker compose exec db mariadb -u root -pPřerušení a obnovení práce:
docker compose stop
docker compose startUkončení a smazání kontejnerů:
docker compose downPo změně Docker image nebo závislostí:
docker compose up --buildNevytvoří se adresář logs:
docker compose exec web mkdir -p /var/www/html/members/www/logs
docker compose exec web chown -R www-data:www-data /var/www/html/members/www/logs- změny posílej přes pull request do arnost00/members z vlastního forku
- vytvoř branch a průběžně commituj
- průběžně automaticky testuj
- ptej se, navrhuj řešení a odkazuj na konkrétní commit
- změny otestuj a proklikej GUI s různými uživateli
- pošli pull request
- obvyklý průběh je: diskuze, nasazení na test, testování, připomínky, opravy a nasazení do produkce