Last active
August 12, 2022 10:39
-
-
Save myusufid/e52f7ecbb2f5f46cbdc9986a571e28d2 to your computer and use it in GitHub Desktop.
Revisions
-
myusufid revised this gist
Aug 12, 2022 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -87,7 +87,7 @@ @finished @slack('https://hooks.slack.com/services/T9LEZNsPU4USDAKK', '#gitlab-activities', "Deployed {$server}") @endfinished @task('say_finished') -
myusufid created this gist
Apr 27, 2019 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,112 @@ @setup $__container->servers([ 'staging' => 'user@ip_address', 'production' => ['user@ip_address -p 8288'], ]); @endsetup @setup $repository = '[email protected]:username/awesome_project_ever.git'; $releases_dir = '/var/www/html/app/awesome_project_ever/releases'; $app_dir = '/var/www/html/app/awesome_project_ever'; $release = date('YmdHis'); $new_release_dir = $releases_dir .'/'. $release; $branch = isset($branch) ? $branch : "master"; if($server == "staging"){ $branch = "staging"; } @endsetup @story('deploy',['on' => $server,'parallel' => true]) clone_repository run_composer update_symlinks deployment_migrate deployment_cache clean_old_releases set_permission_folder say_finished @endstory @task('clone_repository') echo 'Cloning repository' [ -d {{ $releases_dir }} ] || mkdir {{ $releases_dir }} git clone --depth 1 {{ $repository }} --branch={{ $branch }} {{ $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" cp -R {{ $new_release_dir }}/storage {{ $app_dir }} rm -rf {{ $new_release_dir }}/storage ln -nfs {{ $app_dir }}/storage {{ $new_release_dir }}/storage cp -R {{ $new_release_dir }}/public {{ $app_dir }} rm -rf {{ $new_release_dir }}/public/images ln -nfs {{ $app_dir }}/public/images {{ $new_release_dir }}/public/images 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('deployment_migrate') echo "Migrating..." php {{ $new_release_dir }}/artisan migrate --force --no-interaction @endtask @task('deployment_cache') echo "clearing cache..." php {{ $new_release_dir }}/artisan cache:clear --quiet php {{ $new_release_dir }}/artisan config:clear echo "Cache cleared" @endtask @task('clean_old_releases') echo "Cleaning old releases ..." rm -rf `ls -dt {{ $app_dir }}/releases/* | tail -n +4` @endtask @task('set_permission_folder') echo "Set permission folder" cd {{ $app_dir }} sudo chgrp -R www-data storage public sudo chmod -R ug+rwx storage public cd {{ $app_dir }}/current sudo chgrp -R www-data bootstrap/cache sudo chmod -R ug+rwx bootstrap/cache @endtask @finished @slack('https://hooks.slack.com/services/T9LEZNPU4USDAKK', '#gitlab-activities', "Deployed {$server}") @endfinished @task('say_finished') echo "Finished..." @endtask {{-- create .env create folder storage create folder public/images How to run : if staging envoy run deploy --server=staging if production envoy run deploy --server=production --}}