2021-05-07 15:27:49 +02:00
|
|
|
<?php
|
|
|
|
namespace Deployer;
|
|
|
|
|
2022-01-11 20:31:44 +01:00
|
|
|
require 'recipe/symfony4.php';
|
2021-05-07 15:27:49 +02:00
|
|
|
|
|
|
|
// Project name
|
2022-01-11 20:31:44 +01:00
|
|
|
set('application', 'beta.pflaenz.li');
|
2021-05-07 15:27:49 +02:00
|
|
|
|
|
|
|
// Project repository
|
2022-01-11 20:31:44 +01:00
|
|
|
set('repository', 'ssh://git@git.thisfro.ch:222/thisfro/pflaenz.li.git');
|
2021-05-07 15:27:49 +02:00
|
|
|
|
|
|
|
// [Optional] Allocate tty for git clone. Default value is false.
|
|
|
|
set('git_tty', true);
|
|
|
|
|
2022-01-14 14:20:21 +01:00
|
|
|
set('bin/php', function() {
|
|
|
|
return '/opt/php8.0/bin/php';
|
|
|
|
});
|
|
|
|
|
|
|
|
set('bin/composer', function() {
|
|
|
|
return '/opt/php8.0/bin/composer2';
|
|
|
|
});
|
|
|
|
|
2021-05-07 15:27:49 +02:00
|
|
|
// Shared files/dirs between deploys
|
2022-01-14 13:57:12 +01:00
|
|
|
add('shared_files', ['public/.htaccess']);
|
|
|
|
add('shared_dirs', ['public/uploads']);
|
2021-05-07 15:27:49 +02:00
|
|
|
|
|
|
|
// Writable dirs by web server
|
|
|
|
add('writable_dirs', []);
|
|
|
|
|
2022-01-11 20:31:44 +01:00
|
|
|
// Set composer options
|
2022-01-17 17:11:58 +01:00
|
|
|
set('composer_options', '{{composer_action}} --verbose --prefer-dist --no-progress --no-interaction --optimize-autoloader --no-scripts --no-dev');
|
2021-05-07 15:27:49 +02:00
|
|
|
|
|
|
|
// Hosts
|
2022-01-11 20:31:44 +01:00
|
|
|
host('beta.xn--pflnz-ira.li')
|
|
|
|
->user('lq5xi_thisfro')
|
2022-01-11 22:43:43 +01:00
|
|
|
->set('deploy_path', '~/sites/{{application}}')
|
2022-01-14 13:57:44 +01:00
|
|
|
->set('http_user', 'uid153060')
|
|
|
|
->stage('beta');
|
2022-01-11 20:31:44 +01:00
|
|
|
|
2021-05-07 15:27:49 +02:00
|
|
|
// Tasks
|
|
|
|
|
2022-01-11 20:31:44 +01:00
|
|
|
task('upload:build', function() {
|
|
|
|
upload('public/build/', '{{release_path}}/public/build/');
|
2021-05-07 15:27:49 +02:00
|
|
|
});
|
|
|
|
|
2022-01-11 20:31:44 +01:00
|
|
|
// Build yarn locally
|
|
|
|
task('deploy:build:assets', function (): void {
|
|
|
|
run('yarn install');
|
|
|
|
run('yarn encore production');
|
|
|
|
})->local()->desc('Install front-end assets');
|
|
|
|
|
|
|
|
before('deploy:symlink', 'deploy:build:assets');
|
|
|
|
|
|
|
|
// Upload assets
|
|
|
|
task('upload:assets', function (): void {
|
|
|
|
upload(__DIR__.'/public/build/', '{{release_path}}/public/build');
|
|
|
|
});
|
|
|
|
|
2022-01-11 22:43:43 +01:00
|
|
|
task('upload:build', function() {
|
|
|
|
upload("public/build/", '{{release_path}}/public/build/');
|
|
|
|
});
|
|
|
|
|
|
|
|
task('upload:build', function() {
|
|
|
|
upload("public/build/", '{{release_path}}/public/build/');
|
|
|
|
});
|
|
|
|
|
2022-01-11 20:31:44 +01:00
|
|
|
after('deploy:build:assets', 'upload:assets');
|
|
|
|
|
2021-05-07 15:27:49 +02:00
|
|
|
// [Optional] if deploy fails automatically unlock.
|
|
|
|
after('deploy:failed', 'deploy:unlock');
|
|
|
|
|
2022-01-11 22:43:43 +01:00
|
|
|
before('deploy:symlink', 'database:migrate');
|