script envoy
This commit is contained in:
1
.idea/php.xml
generated
1
.idea/php.xml
generated
@@ -124,6 +124,7 @@
|
|||||||
<path value="$PROJECT_DIR$/vendor/laminas/laminas-zendframework-bridge" />
|
<path value="$PROJECT_DIR$/vendor/laminas/laminas-zendframework-bridge" />
|
||||||
<path value="$PROJECT_DIR$/vendor/laminas/laminas-diactoros" />
|
<path value="$PROJECT_DIR$/vendor/laminas/laminas-diactoros" />
|
||||||
<path value="$PROJECT_DIR$/vendor/laravel/legacy-factories" />
|
<path value="$PROJECT_DIR$/vendor/laravel/legacy-factories" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/laravel/slack-notification-channel" />
|
||||||
</include_path>
|
</include_path>
|
||||||
</component>
|
</component>
|
||||||
<component name="PhpProjectSharedConfiguration" php_language_level="7.2" />
|
<component name="PhpProjectSharedConfiguration" php_language_level="7.2" />
|
||||||
|
|||||||
1
.idea/portal.iml
generated
1
.idea/portal.iml
generated
@@ -32,6 +32,7 @@
|
|||||||
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/framework" />
|
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/framework" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/legacy-factories" />
|
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/legacy-factories" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/passport" />
|
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/passport" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/slack-notification-channel" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/tinker" />
|
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/tinker" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/ui" />
|
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/ui" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/vendor/lcobucci/jwt" />
|
<excludeFolder url="file://$MODULE_DIR$/vendor/lcobucci/jwt" />
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -16,8 +16,10 @@
|
|||||||
"laravel/framework": "^8.0",
|
"laravel/framework": "^8.0",
|
||||||
"laravel/legacy-factories": "^1.0",
|
"laravel/legacy-factories": "^1.0",
|
||||||
"laravel/passport": "^10.0",
|
"laravel/passport": "^10.0",
|
||||||
|
"laravel/slack-notification-channel": "^2.2",
|
||||||
"laravel/tinker": "^2.0",
|
"laravel/tinker": "^2.0",
|
||||||
"laravel/ui": "^2.0"
|
"laravel/ui": "^2.0",
|
||||||
|
"vlucas/phpdotenv": "^5.2"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"facade/ignition": "^2.3.6",
|
"facade/ignition": "^2.3.6",
|
||||||
|
|||||||
71
composer.lock
generated
71
composer.lock
generated
@@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "1a08ea37954efebb7e59951b5d396e76",
|
"content-hash": "51b55f3b06042805d19c911a3a4456a7",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "asm89/stack-cors",
|
"name": "asm89/stack-cors",
|
||||||
@@ -1285,6 +1285,63 @@
|
|||||||
],
|
],
|
||||||
"time": "2020-09-08T15:27:48+00:00"
|
"time": "2020-09-08T15:27:48+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "laravel/slack-notification-channel",
|
||||||
|
"version": "v2.2.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/laravel/slack-notification-channel.git",
|
||||||
|
"reference": "98e0fe5c8dda645e6af914285af7b742e167462a"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/laravel/slack-notification-channel/zipball/98e0fe5c8dda645e6af914285af7b742e167462a",
|
||||||
|
"reference": "98e0fe5c8dda645e6af914285af7b742e167462a",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"guzzlehttp/guzzle": "^6.0|^7.0",
|
||||||
|
"illuminate/notifications": "~5.8.0|^6.0|^7.0|^8.0",
|
||||||
|
"php": "^7.1.3"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"mockery/mockery": "^1.0",
|
||||||
|
"phpunit/phpunit": "^7.0|^8.0|^9.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "2.x-dev"
|
||||||
|
},
|
||||||
|
"laravel": {
|
||||||
|
"providers": [
|
||||||
|
"Illuminate\\Notifications\\SlackChannelServiceProvider"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Illuminate\\Notifications\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Taylor Otwell",
|
||||||
|
"email": "taylor@laravel.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Slack Notification Channel for laravel.",
|
||||||
|
"keywords": [
|
||||||
|
"laravel",
|
||||||
|
"notifications",
|
||||||
|
"slack"
|
||||||
|
],
|
||||||
|
"time": "2020-08-25T18:21:34+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/tinker",
|
"name": "laravel/tinker",
|
||||||
"version": "v2.4.2",
|
"version": "v2.4.2",
|
||||||
@@ -5409,16 +5466,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vlucas/phpdotenv",
|
"name": "vlucas/phpdotenv",
|
||||||
"version": "v5.1.0",
|
"version": "v5.2.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/vlucas/phpdotenv.git",
|
"url": "https://github.com/vlucas/phpdotenv.git",
|
||||||
"reference": "448c76d7a9e30c341ff5bc367a923af74ae18467"
|
"reference": "fba64139db67123c7a57072e5f8d3db10d160b66"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/448c76d7a9e30c341ff5bc367a923af74ae18467",
|
"url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/fba64139db67123c7a57072e5f8d3db10d160b66",
|
||||||
"reference": "448c76d7a9e30c341ff5bc367a923af74ae18467",
|
"reference": "fba64139db67123c7a57072e5f8d3db10d160b66",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -5441,7 +5498,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "5.1-dev"
|
"dev-master": "5.2-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -5481,7 +5538,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2020-07-14T19:26:25+00:00"
|
"time": "2020-09-14T15:57:31+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "voku/portable-ascii",
|
"name": "voku/portable-ascii",
|
||||||
|
|||||||
Reference in New Issue
Block a user