Skip to content

Instantly share code, notes, and snippets.

@lukzgois
Created June 5, 2015 19:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lukzgois/7b10621bf3dc48ac6875 to your computer and use it in GitHub Desktop.
Save lukzgois/7b10621bf3dc48ac6875 to your computer and use it in GitHub Desktop.
Basic envoy file for easy deployment
@servers(['localhost' => 'localhost'])
<?php
$repo = '';
$base_dir = '/var/www/myapp';
$release_dir = "$base_dir/releases";
$app_dir = "$base_dir/current";
$log_dir = "$base_dir/logs";
$release = 'release_' . date('YmdHis');
$branch = 'master';
?>
@task('deploy')
#creating dirs
[ -d {{ $base_dir }} ] || mkdir -p {{ $base_dir }};
[ -d {{ $release_dir }} ] || mkdir -p {{ $release_dir }};
[ -d {{ $log_dir }} ] || mkdir -p {{ $log_dir }};
#clone the project
git clone -b {{ $branch }} {{ $repo }} {{ $release_dir }}/{{ $release }};
#run composer
cd {{ $release_dir }}/{{ $release }};
composer install --prefer-dist --no-scripts;
php artisan clear-compiled --env=production;
php artisan optimize --env=production;
#run frontend tasks
cd {{ $release_dir }}/{{ $release }};
sudo /usr/bin/npm install;
sudo /usr/bin/gulp bower;
sudo /usr/bin/gulp;
#updating the 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;
#mudando o grupo de toda a pasta de release
chgrp -R www-data {{ $release_dir }}/{{ $release }};
#migrate the database
cd {{ $release_dir }}/{{ $release }};
php artisan migrate --force --env=production;
#restart the php
sudo service php5-fpm reload;
@endtask
@after
@slack('https://hooks.slack.com/services/xxxx/yyyyy/zzzzzzzzzzz', '#deploys', 'Deploy finalizado com sucesso');
@endafter
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment