diff --git a/.gitignore b/.gitignore index 60daf53..b8a6a2a 100644 --- a/.gitignore +++ b/.gitignore @@ -515,4 +515,6 @@ sw.js /server/cypress/screenshots !/server/cypress/screenshots/.gitkeep /server/cypress/videos -!/server/cypress/videos/.gitkeep \ No newline at end of file +!/server/cypress/videos/.gitkeep + +deployment_remotes.php \ No newline at end of file diff --git a/deployment.php b/deployment.php new file mode 100644 index 0000000..de156f2 --- /dev/null +++ b/deployment.php @@ -0,0 +1,73 @@ + 'server', + 'ignore' => ' + .git* + .github + .vscode + *.json + !resources/dist/manifest.json + resources/src + resources/node_modules + resources/webpack* + cypress + error-log/exception* + error-log/*.log + config.old.php + config.php + *tests* + *tests + *examples* + *examples + *Makefile* + *.md + *.rst + *.txt + *.sh + *editorconfig + *doc* + *.yml + *.travis* + *.eslintrc* + *.phpstorm* + *.php_cs* + *.xml + *LICENSE* + *CREDITS* + *VERSION* + *CHANGELOG* + *phpcs* + *phpstan* + *phpunit* + vendor/nikic/fast-route/test + vendor/twig/twig/src/Node/Expression/Test + vendor/twig/twig/src/Test + vendor/tracy/tracy/tools + *.lock + ', + 'before' => [ + 'local: cd server && composer update --no-dev -o', + 'local: cd server/resources && npm run prod' + ], + '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) { + $config[$key] = array_merge($value, $baseConfig); +} + +return $config; \ No newline at end of file diff --git a/deployment_remotes.sample.php b/deployment_remotes.sample.php new file mode 100644 index 0000000..387c017 --- /dev/null +++ b/deployment_remotes.sample.php @@ -0,0 +1,12 @@ + [ + 'remote' => 'sftp://user:secretpassword@ftp.example.com/directory_testing', + ], + 'production' => [ + 'remote' => 'ftp://ftp.example.com/directory', + 'user' => 'user', + 'password' => 'secretpassword' + ] +]; \ No newline at end of file