script envoy
This commit is contained in:
@@ -1 +1,70 @@
|
||||
<?php
|
||||
|
||||
@setup
|
||||
require __DIR__.'/vendor/autoload.php';
|
||||
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__, '.env.prod');
|
||||
$dotenv->load();
|
||||
|
||||
$config = new \StdClass;
|
||||
$config->test_path = "/var/www/html/portal";
|
||||
$config->prod_path = "/var/www/html/portal";
|
||||
$config->test_branch = "development";
|
||||
$config->prod_branch = "production";
|
||||
$date = ( new DateTime )->format('Y-m-d H:i:s');
|
||||
$dateSave = ( new DateTime )->format('Ymd-Hi');
|
||||
$db_host = $_ENV['DB_DATABASE'];
|
||||
$db_user = $_ENV['DB_USERNAME'];
|
||||
$db_pass = $_ENV['DB_PASSWORD'];
|
||||
$rsync = $_ENV['RSYNC_SAV'];
|
||||
$slack = $_ENV['SLACK_URL'];
|
||||
|
||||
@endsetup
|
||||
|
||||
@servers(['test' => ['raspitest'], 'prod' => ['raspigate']])
|
||||
|
||||
@story('deploy')
|
||||
sql-backup
|
||||
deploy-prod
|
||||
@endstory
|
||||
|
||||
@task('sql-backup', ['on' => ['prod']])
|
||||
cd {{ $config->prod_path }}
|
||||
mysqldump --user={{ $db_user }} --password={{ $db_pass }} -B {{ $db_host }} > storage/logs/database/save-{{ $db_host }}-{{ $dateSave }}.sql
|
||||
scp -p storage/logs/database/save-{{ $db_host }}-{{ $dateSave }}.sql {{ $rsync }}
|
||||
@endtask
|
||||
|
||||
@task('deploy-test', ['on' => ['test']])
|
||||
|
||||
cd {{ $config->test_path }}
|
||||
{{-- php artisan down--}}
|
||||
{{-- git reset --hard HEAD--}}
|
||||
{{-- git pull origin {{ $config->test_branch }}--}}
|
||||
{{-- composer install--}}
|
||||
{{-- npm install--}}
|
||||
{{-- npm run production--}}
|
||||
{{-- php artisan migrate --force--}}
|
||||
{{-- php artisan cache:clear--}}
|
||||
{{-- php artisan config:cache--}}
|
||||
{{-- php artisan view:clear--}}
|
||||
{{-- php artisan optimize--}}
|
||||
{{-- php artisan up--}}
|
||||
|
||||
@endtask
|
||||
|
||||
@task('deploy-prod', ['on' => ['prod']])
|
||||
|
||||
cd {{ $config->prod_path }}
|
||||
php artisan down
|
||||
git reset --hard HEAD
|
||||
git pull origin {{ $config->prod_branch }}
|
||||
composer install
|
||||
npm install
|
||||
npm run production
|
||||
php artisan migrate --force
|
||||
php artisan optimize
|
||||
php artisan up
|
||||
|
||||
@endtask
|
||||
|
||||
@finished
|
||||
@slack($slack, '#envoy', "Deployment on prod: {$date} complete")
|
||||
@endfinished
|
||||
|
||||
Reference in New Issue
Block a user