-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdeploy.php
89 lines (77 loc) · 2.02 KB
/
deploy.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?php
namespace Deployer;
require 'recipe/symfony3.php';
// Project name
set('application', 'RapidMailAPI');
set('keep_releases', 3);
set('repository', '[email protected]:andrzejtracz/rapidmail-api.git');
set('git_tty', false);
// Shared files/dirs between deploys
add('shared_files', [
'.env'
]);
add('shared_dirs', [
'var/sessions',
'var/log',
'var/storage',
'vendor',
'public/errors',
'public/assets',
'public/media',
]);
add('writable_dirs', []);
set('allow_anonymous_stats', false);
// Hosts
host('s17.mydevil.net')
->stage('dev')
->set('branch', 'master')
->set('keep_releases', 1)
->user('andrzej-tracz')
->set('bin/php', '/usr/local/bin/php72')
->set('bin/npm', 'npm8')
->set('deploy_path', '~/domains/rapidmail.at-dev.ovh/deployer');
/**
* Migrate database
*/
task('database:migrate', function () {
run('{{bin/php}} {{bin/console}} doctrine:migrations:migrate {{console_options}} --allow-no-migration');
})->desc('Migrate database');
/**
* Install assets from public dir of bundles
*/
task('deploy:assets:install', function () {
run('{{bin/php}} {{bin/console}} assets:install {{console_options}} {{release_path}}/public');
})->desc('Install bundle assets');
/**
* Restart process runing in background
*/
task('deploy:pm2:restart', function () {
run('cd {{current_path}} && ~/node_modules/.bin/pm2 restart');
})->desc('Install bundle assets');
/**
* Main task
*/
task('deploy', [
'deploy:info',
'deploy:prepare',
'deploy:lock',
'deploy:release',
'deploy:update_code',
'deploy:clear_paths',
'deploy:create_cache_dir',
'deploy:shared',
'deploy:assets',
'deploy:vendors',
'deploy:assets:install',
'deploy:assetic:dump',
'deploy:cache:clear',
'deploy:cache:warmup',
'database:migrate',
'deploy:symlink',
'deploy:pm2:restart',
'deploy:unlock',
'cleanup',
])->desc('Deploy your project');
// Display success message on completion
after('deploy', 'success');
after('deploy:failed', 'deploy:unlock');