fix(deploy): preserve host preland config
This commit is contained in:
1 parent
67379241aa
commit
ed1e476cc6
7 files changed
+169
-21
No files matched your search
@@ -38,7 +38,7 @@ $expected = [
|
||||
'bchoice' => 'a',
|
||||
'chb' => 'b',
|
||||
'tp' => '1',
|
||||
'focus' => 'center',
|
||||
'focus' => 'face',
|
||||
'utm_source' => 'stage-ad',
|
||||
'subid' => 'click-42',
|
||||
];
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
/**
|
||||
* Регрессия единственного рабочего конфига приленда.
|
||||
*
|
||||
* Stage-конфиг — единственный канонический конфиг каждого приленда. Он должен
|
||||
* быть в репозитории и попадать во все FTP/SFTP-доставки без исключений.
|
||||
* Репозиторный config.json задаёт схему и стартовые значения. Рабочий конфиг
|
||||
* владельца на хостинге не перезаписывается: delivery добавляет только
|
||||
* отсутствующие обязательные UTM-ключи.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
@@ -25,7 +26,7 @@ if (!is_array($config)) {
|
||||
'bchoice' => ['a' => 1, 'b' => 0, 'default' => 'a'],
|
||||
'chb' => ['a' => 1, 'b' => 0, 'default' => 'b'],
|
||||
'tp' => ['1' => 0, '2' => 1, 'default' => '1'],
|
||||
'focus' => ['center' => 1, 'face' => 0, 'default' => 'center'],
|
||||
'focus' => ['center' => 0, 'face' => 1, 'default' => 'face'],
|
||||
];
|
||||
|
||||
if (($config['host'] ?? null) !== $expected['host']) {
|
||||
@@ -58,8 +59,11 @@ foreach ([
|
||||
'deploy-zoomstage' => $stageBlock,
|
||||
'deploy-zoompixel-production' => $productionBlock,
|
||||
] as $delivery => $block) {
|
||||
if ($block === '' || str_contains($block, 'config\\.json$')) {
|
||||
$failures[] = "{$delivery} обязан доставлять единый версионируемый config.json.";
|
||||
if ($block === ''
|
||||
|| !str_contains($block, 'config\\.json$')
|
||||
|| !str_contains($block, 'ensure-focus-config.php')
|
||||
|| !str_contains($block, 'Preserve host config and add focus if absent')) {
|
||||
$failures[] = "{$delivery} обязан сохранять хостовый config.json и добавлять только отсутствующий focus.";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user