-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdeploy.php
93 lines (66 loc) · 1.84 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
90
91
92
93
<?php
/**
* {app-title} deployment script.
*
* PHP version >=5.6.0
*
* For full copyright and license information, please view the
* LICENSE.md file that was distributed with this source code.
*
* @package {app-namespace}
* @author {author-name} <{author-email}>
* @copyright {year} {author-company}
* @license {license-link} {license-name}
* @link {project-link}
*/
namespace Deployer;
// Load Common Recipe:
require 'recipe/common.php';
// Load Server Inventory:
inventory('deploy.yml');
// Define Custom Binaries:
set('bin/composer', function () {
return run('which composer');
});
// Define Default Stage:
set('default_stage', 'staging');
// Define Project Details:
set('application', '{app-name}');
set('repository', '{repo-url}');
// Allow Anonymous Statistics?
set('allow_anonymous_stats', false);
// Define Shared Dirs:
set('shared_dirs', [
'public/assets'
]);
// Define Writable Dirs:
set('writable_dirs', [
'public/assets'
]);
// Define Helper Tasks:
task('silverstripe:build', function () {
return run('{{bin/php}} {{release_path}}/vendor/silverstripe/framework/cli-script.php dev/build');
})->desc('Run /dev/build');
task('silverstripe:buildflush', function () {
return run('{{bin/php}} {{release_path}}/vendor/silverstripe/framework/cli-script.php dev/build flush=all');
})->desc('Run /dev/build?flush=all');
// Define Deployment Task:
task('deploy', [
'deploy:info',
'deploy:prepare',
'deploy:lock',
'deploy:release',
'deploy:update_code',
'deploy:vendors',
'deploy:shared',
'deploy:writable',
'silverstripe:buildflush',
'deploy:clear_paths',
'deploy:symlink',
'deploy:unlock',
'cleanup'
])->desc('Deploy application');
// After Deployment Success Task:
after('deploy', 'success');
// After Deployment Failure Task:
after('deploy:failed', 'deploy:unlock');