allerta-vvf/deployment.php

91 lines
2.0 KiB
PHP
Raw Normal View History

2020-12-29 23:55:28 +01:00
<?php
$baseConfig = [
'local' => 'server',
'ignore' => '
.git*
.github
.vscode
*.json
2021-05-10 22:31:49 +02:00
!resources/dist/assets-manifest.json
2020-12-29 23:55:28 +01:00
resources/src
resources/node_modules
resources/webpack*
2021-04-20 15:31:01 +02:00
resources/images/logo.png
resources/images/owner.png
2020-12-29 23:55:28 +01:00
cypress
debug_storage/exception*
debug_storage/*.log
debug_storage/*.json
2020-12-29 23:55:28 +01:00
config.old.php
config.php
*tests*
*tests
*examples*
*examples
*Makefile*
2021-03-09 10:12:17 +01:00
*LICENSE*
*CREDITS*
*VERSION*
*CHANGELOG*
2020-12-29 23:55:28 +01:00
*.md
*.rst
*.txt
2021-03-09 10:12:17 +01:00
!resources/dist/*.LICENSE.txt
!robots.txt
2020-12-29 23:55:28 +01:00
*.sh
*editorconfig
*doc*
*.yml
*.travis*
*.eslintrc*
*.phpstorm*
*.php_cs*
*.xml
*phpcs*
*phpstan*
*phpunit*
vendor/nikic/fast-route/test
vendor/twig/twig/src/Node/Expression/Test
vendor/twig/twig/src/Test
*.lock
2021-03-01 22:39:49 +01:00
*.zip
2020-12-29 23:55:28 +01:00
',
2021-05-01 00:28:14 +02:00
'allowDelete' => false,
2020-12-29 23:55:28 +01:00
'before' => [
2021-02-20 21:05:03 +01:00
'local: cd server && composer update --no-dev -o'
2020-12-29 23:55:28 +01:00
],
'after' => [
'local: cd server && composer install'
],
'filePermissions' => "0644",
'dirPermissions' => "0755"
];
try {
require("deployment_remotes.php");
} catch (\Throwable $th) {
print("ERROR: no 'deployment_remotes.php' file.".PHP_EOL);
print("Rename 'deployment_remotes.sample.php' in 'deployment_remotes.php' and edit remotes config.".PHP_EOL);
exit();
}
$config = [];
foreach ($remotes as $key => $value) {
2021-02-20 21:05:03 +01:00
$config[$key] = array_merge($value, $baseConfig);
if(isset($value["before"]) && $value["before"] === false){
$config[$key]["before"] = [];
} else {
$env = isset($config[$key]["sentry_env"]) ? $config[$key]["sentry_env"] : "prod";
2021-04-05 19:13:40 +02:00
$config[$key]["before"][] = "local: cd server/resources && npm i && npm run prod -- --env sentryEnvironment=".$env;
2021-02-20 21:05:03 +01:00
}
if(isset($value["after"]) && $value["after"] === false){
$config[$key]["after"] = [];
}
2021-04-29 18:30:53 +02:00
if(isset($config[$key]["skip_composer_upload"]) && $config[$key]["skip_composer_upload"]){
$config[$key]["ignore"] .= "
vendor";
}
2020-12-29 23:55:28 +01:00
}
return $config;