Éles használat közben derült ki: a csomagba került egy seeder, de a _TEENDOK.md nem szólt róla. A seeder felmásolása önmagában nem csinál semmit, tehát csendben kimaradt egy lépés - pont az a hibatípus, ami ellen az egész eszköz készült. - config: új attention csoport a database/seeders/* útvonalakra - a felületen figyelmeztetés, a teendőkben a konkrét osztálynévvel: php artisan db:seed --class=<Osztály> - mellé egy feltételes cache-lépés: a Pennant purge Eloquent mentésnél NEM kell (a FeatureFlagObserver::saved() elvégzi), csak query builderes írás után; a laratrust cache pedig csak szerepkör/jogosultság hozzárendelés változásakor, mert a saját cache-ét a felhasználóhoz kötve tárolja Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
129 lines
4.0 KiB
PHP
129 lines
4.0 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).
|
|
|
|
|
*/
|
|
|
|
'targets' => [
|
|
'e2e' => [
|
|
'label' => 'e2e — t2t éles',
|
|
'domain' => 'e2e.emegrendeles.hu',
|
|
'remote_path' => '/delirest/test.t2t.emegrendeles.hu/app/',
|
|
'expected_branch' => 'main',
|
|
],
|
|
'd2d' => [
|
|
'label' => 'd2d — fejlesztői',
|
|
'domain' => 'd2d.emegrendeles.hu',
|
|
'remote_path' => '/delirest/d2d.emegrendeles.hu/app/',
|
|
'expected_branch' => 'test',
|
|
],
|
|
],
|
|
|
|
];
|