Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @servers(['web' => 'localhost'])
- <?php
- $repo = ''; // repository's url
- $base_dir = ''; //root folder of the deploy
- $release_dir = "$base_dir/releases";
- $app_dir = "$base_dir/current";
- $log_dir = "$base_dir/logs";
- $release = 'release_' . date('YmdHis');
- $branch = 'production';
- ?>
- @macro('deploy')
- create_dirs
- fetch_repo
- run_composer
- artisan
- update_symlinks
- frontend
- migrate
- restarts
- @endmacro
- @task('hostname')
- hostname
- @endtask
- @task('create_dirs')
- [ -d {{ $base_dir }} ] || mkdir -p {{ $base_dir }};
- [ -d {{ $release_dir }} ] || mkdir -p {{ $release_dir }};
- [ -d {{ $log_dir }} ] || mkdir -p {{ $log_dir }};
- @endtask
- @task('fetch_repo')
- git clone -b {{ $branch }} {{ $repo }} {{ $release_dir }}/{{ $release }};
- @endtask
- @task('run_composer')
- cd {{ $release_dir }}/{{ $release }};
- composer install --prefer-dist --no-scripts;
- @endtask
- @task('artisan')
- php artisan clear-compiled --env=production;
- php artisan optimize --env=production;
- php artisan route:cache --env=production;
- php artisan config:cache --env=production;
- php artisan auth:clear-resets;
- @endtaks
- @task('update_permissions')
- cd {{ $release_dir }};
- chgrp -R www-data {{ $release }};
- chmod -R ug+rwx {{ $release }};
- @endtask
- @task('update_symlinks')
- ln -nfs {{ $release_dir }}/{{ $release }} {{ $app_dir }};
- chgrp -h www-data {{ $app_dir }};
- rm -r {{ $release_dir }}/{{ $release }}/app/storage/logs;
- cd {{ $release_dir }}/{{ $release }}/app/storage;
- ln -nfs ../../../../logs logs;
- chgrp -R www-data {{ $release_dir }}/{{ $release }}/app/storage;
- @endtask
- @task('restarts')
- sudo service php5-fpm reload;
- @endtask
- @task('frontend')
- cd {{ $release_dir }}/{{ $release }};
- sudo /usr/bin/npm install;
- sudo /usr/bin/gulp;
- @endtask
- @task('migrate')
- cd {{ $release_dir }}/{{ $release }};
- php artisan migrate --force --env=production;
- @endtask
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement