d2d.emegrendeles.hu/config/deployment.php
E98Developer 4bb89ae6a1 FIX Deployment csomagoló d2d alapértelmezés és automatikus környezet-állapot
- A célkörnyezet alapértelmezése a d2d (azt frissítjük sűrűbben). A config targets
  tömbjének sorrendje adja az alapértelmezést, ezért csak a sorrend cserélődött.
- A "Környezetek állapota" panel betöltéskor magától lekérdezi a deploy-version.json-t,
  percenkénti cache-sel (a hibás választ is cache-eljük, hogy egy nem válaszoló
  környezet ne lassítsa minden kattintásnál a felületet). A Frissítés gomb kényszerít.
- A panel tömörebb, és valóban két hasábos: a md:grid-cols-2 nincs benne a lefordított
  CSS-ben, ezért saját, media query-s stílussal oldjuk meg - így build nélkül is működik.
- A commitlistában a hash mellett jelöljük, melyik környezet áll azon a commiton:
  zöld a szervertől lekérdezett, szürke a napló szerinti állapot.

Teszt: a beforeEach Http::fake() catch-all stubja minden URL-re illeszkedik és a factory
az első találatot adja vissza, ezért a konkrét választ váró teszt új factory-t kap.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 22:48:09 +02:00

134 lines
4.2 KiB
PHP

<?php
return [
/*
|--------------------------------------------------------------------------
| Fő kapcsoló (1. védelmi réteg)
|--------------------------------------------------------------------------
|
| A deployment csomagoló KIZÁRÓLAG fejlesztői gépen futhat. Mivel az
| alkalmazás kódja manuális fájlmásolással kerül a szerverekre, ez az
| oldal fizikailag ott lesz minden környezeten - ezért a bekapcsolás
| .env-ből történik, ami viszont nincs verziókövetve és nem másoljuk.
|
*/
'enabled' => env('DEPLOYMENT_PACKAGE_ENABLED', false),
/*
|--------------------------------------------------------------------------
| Stage whitelist (2. védelmi réteg)
|--------------------------------------------------------------------------
|
| Szándékosan hardkódolt lista, nem env-ből jön: ez fogja meg azt az esetet,
| ha valaki a fenti kapcsolót tévedésből bemásolja egy szerver .env-jébe.
|
*/
'stages' => ['local'],
/*
|--------------------------------------------------------------------------
| Jogosultság (3. réteg) és láthatóság (4. réteg)
|--------------------------------------------------------------------------
|
| A feature flag NEM biztonsági réteg - a védelmet a fenti kettő és a
| szerepkör adja. A flag a menü-láthatóságot vezérli, illetve deploy nélküli
| kikapcsolást és név szerinti átadást tesz lehetővé (feature_flag_overrides).
|
*/
'role' => 'developer',
'feature_flag' => 'DeploymentPackage',
/*
|--------------------------------------------------------------------------
| Git
|--------------------------------------------------------------------------
*/
'repo_path' => base_path(),
'git_binary' => env('DEPLOYMENT_GIT_BINARY', 'git'),
'timeout' => 60,
/*
|--------------------------------------------------------------------------
| Csomagolás
|--------------------------------------------------------------------------
*/
'output_path' => env('DEPLOYMENT_OUTPUT_PATH', storage_path('app/private/deployments')),
'max_files' => 500,
'commit_limits' => [50, 100, 200],
/*
| Ezek soha nem kerülnek csomagba, akkor sem, ha a diffben szerepelnének.
| A minták Str::is() szintaxisúak, a repo gyökeréhez képest relatív úton.
*/
'exclude' => [
'.env',
'.env.*',
'auth.json',
'.git*',
'storage/*',
'vendor/*',
'node_modules/*',
],
/*
| Fájlok, amik csomagolhatók, de külön figyelmeztetést érdemelnek, mert
| önmagukban nem elegendők (kell melléjük egy parancs a célgépen).
*/
'attention' => [
'migration' => ['database/migrations/*'],
'seeder' => ['database/seeders/*'],
'composer' => ['composer.json', 'composer.lock'],
'asset' => [
'resources/js/*',
'resources/css/*',
'resources/modern/*',
'vite.config.js',
'webpack.mix.js',
'package.json',
'package-lock.json',
],
],
/*
|--------------------------------------------------------------------------
| Célkörnyezetek
|--------------------------------------------------------------------------
|
| Az expected_branch csak figyelmeztetést vezérel, nem tiltást.
| A remote_path a shared storage útvonala (ld. docs/cicd-context.md).
|
*/
/*
| A sorrend számít: az első az alapértelmezett célkörnyezet a felületen
| (DeploymentTargets::defaultKey()). A d2d azért van elöl, mert azt frissítjük
| sűrűbben, tehát a gyakoribb eset legyen az alapértelmezés.
*/
'targets' => [
'd2d' => [
'label' => 'd2d — fejlesztői',
'domain' => 'd2d.emegrendeles.hu',
'remote_path' => '/delirest/d2d.emegrendeles.hu/app/',
'expected_branch' => 'test',
],
'e2e' => [
'label' => 'e2e — t2t éles',
'domain' => 'e2e.emegrendeles.hu',
'remote_path' => '/delirest/test.t2t.emegrendeles.hu/app/',
'expected_branch' => 'main',
],
],
];