@setup $repository = 'git@gitlab.com:armfort/armfort-core-saas.git'; $app_name = 'armfort-core-saas'; $releases_dir = '/var/www/'.$app_name.'/releases'; $app_dir = '/var/www/'.$app_name; $release = date('YmdHis'); $new_release_dir = $releases_dir .'/'. $release; $server = ($branch == 'master') ? "root@37.60.254.165" : "root@139.59.112.163"; @endsetup @servers(['web' => $server]) @story('deploy') clone_repository run_composer update_symlinks setup @endstory @task('clone_repository') echo 'Cloning repository' [ -d {{ $releases_dir }} ] || mkdir {{ $releases_dir }} git clone --depth 1 --branch {{$branch}} {{ $repository }} {{ $new_release_dir }} @endtask @task('run_composer') echo "Starting deployment ({{ $release }})" cd {{ $new_release_dir }} composer install --prefer-dist --no-scripts -q -o @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 @task('setup') echo "Changing folder owner and permission access ({{ $release }})" cd {{ $new_release_dir }} chown -R www-data:www-data . chmod -R 775 bootstrap/ php artisan migrate --force @endtask @task('manual_deploy') echo "Manual deployment of current directory" git fetch git pull composer install chown -R www-data:www-data . chmod -R 775 bootstrap/ php artisan migrate --force @endtask