-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEnvoy.blade.php
More file actions
executable file
·80 lines (69 loc) · 2.4 KB
/
Envoy.blade.php
File metadata and controls
executable file
·80 lines (69 loc) · 2.4 KB
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
@servers(['development' => 'dev_deployer@206.189.143.230', 'test' => 'dev_deployer@206.189.143.230', 'demo' => 'dev_deployer@206.189.143.230', 'staging' => 'prod_deployer@139.59.37.194' , 'production' => 'prod_deployer@139.59.37.194' ])
@setup
$branch = 'master';
$repository = 'git@code.gozwing.com:zwing/api/api.git';
if($env =='development'){
$branch = 'development-master';
$app_dir = '/var/www/html/dev.api.gozwing.com/public_html';
}elseif($env =='test'){
$branch = 'release';
$app_dir = '/var/www/html/test.api.gozwing.com/public_html';
}elseif($env =='demo'){
$app_dir = '/var/www/html/demo.api.gozwing.com/public_html';
}elseif($env =='staging'){
$app_dir = '/var/www/html/staging.api.gozwing.com/public_html';
}elseif($env=='production'){
$app_dir = '/var/www/html/api.gozwing.com/public_html';
}
$releases_dir = $app_dir.'/'.'releases';
$release = date('YmdHis');
$new_release_dir = $releases_dir .'/'. $release;
@endsetup
@story('deploy', ['on'=> 'development'])
clone_repository
run_composer
update_symlinks
@endstory
@story('test_deploy', ['on'=> 'test'])
clone_repository
run_composer
update_symlinks
@endstory
@story('demo_deploy', ['on'=> 'demo'])
clone_repository
run_composer
update_symlinks
@endstory
@story('staging_deploy', ['on'=> 'staging'])
clone_repository
run_composer
update_symlinks
@endstory
@story('production_deploy', ['on'=> 'production'])
clone_repository
run_composer
update_symlinks
@endstory
@task('clone_repository')
echo 'Cloning repository'
[ -d {{ $releases_dir }} ] || mkdir {{ $releases_dir }}
git clone --branch {{ $branch }} --depth 1 {{ $repository }} {{ $new_release_dir }}
cd {{ $releases_dir }}
git reset --hard {{ $commit }}
@endtask
@task('run_composer')
echo "Starting deployment ({{ $release }})"
cd {{ $new_release_dir }}
composer install --prefer-dist --no-scripts -q -o
php artisan clear-compiled
composer dump-autoload
@endtask
@task('update_symlinks')
echo "Linking storage directory"
rm -rf {{ $new_release_dir }}/storage
ln -nfs {{ $app_dir }}/storage {{ $new_release_dir }}/storage
echo 'Linking .env file'
ln -nfs {{ $app_dir }}/.env {{ $new_release_dir }}/.env
echo 'Linking current release'
ln -nfs {{ $new_release_dir }} {{ $app_dir }}/current
@endtask