diff --git a/.dockerignore b/.dockerignore index 1726227..3a90448 100644 --- a/.dockerignore +++ b/.dockerignore @@ -3,5 +3,3 @@ vendor node_modules modules composer.lock -Dockerfile* -Jenkinsfile diff --git a/.drone.yml b/.drone.yml index 9c7a937..aa351df 100644 --- a/.drone.yml +++ b/.drone.yml @@ -15,10 +15,11 @@ steps: commands: - cd /home/administrator/apps/willaengine/ ; docker-compose up -d - docker exec willaengine bash -c "COMPOSER=composer-prod.json composer update" - - docker exec willaengine service cron start + - docker exec willaengine_worker bash -c "COMPOSER=composer-prod.json composer update" - docker exec willaengine php artisan config:cache - docker exec willaengine php artisan route:cache - docker exec willaengine php artisan migrate --path=vendor/wm/store/database/migrations --force + - docker network connect nginx_default willaengine when: branch: - master @@ -34,15 +35,13 @@ steps: - name: deploy to staging commands: - cd /apps/willaengine-staging/ ; docker-compose up -d - # - docker exec willaengine-staging_php bash -c "COMPOSER=composer-staging.json composer update wm/common" - docker exec willaengine-staging_php bash -c "COMPOSER=composer-staging.json composer update" - - docker exec willaengine-staging_php bash -c "php artisan route:clear" - - docker exec willaengine-staging_php bash -c "php artisan route:cache" - # - docker exec willaengine-staging_php service supervisor start - # - docker exec willaengine-staging_php service supervisor start - # - docker exec willaengine-staging_php bash -c "php artisan db:seed --class=CalculationMethodSeeder" - # - docker exec willaengine-staging_php php artisan migrate --path=vendor/wm/finance/database/migrations - - docker exec willaengine-staging_php php artisan migrate --path=vendor/wm/store/database/migrations --force + - docker exec willaengine-staging_php bash -c "php artisan route:cache" + - docker exec willaengine-staging_php bash -c "php artisan config:cache" + - docker exec willaengine-staging_worker bash -c "COMPOSER=composer-staging.json composer update" + - docker exec willaengine-staging_worker service supervisor start + - docker exec willaengine-staging_php php artisan migrate --path=vendor/wm/finance/database/migrations --force + - docker exec willaengine-staging_php php artisan migrate --path=vendor/wm/store/database/migrations --force when: branch: - dev diff --git a/.gitignore b/.gitignore index a5dbc7e..556b3a2 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,8 @@ /development/ # Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode,laravel,vuejs,phpstorm -# Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode,laravel,vuejs,phpstorm +# Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode,laravel,vuejs, phpstorm +composer-prod.json ### Laravel ### /vendor/ diff --git a/Jenkinsfile b/Jenkinsfile index 83bec54..bd8ef62 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -5,24 +5,15 @@ pipeline { } } stages { - stage('build for production') { + stage('build') { when { branch 'master' } steps { - sh 'docker build -t registry.willaspace.com/willaspace/${IMAGE_NAME}:latest --build-arg ssh_prv_key="$(cat /home/administrator/.ssh/id_rsa)" .' + sh 'cd /home/administrator/apps/${IMAGE_NAME}/;docker build -t registry.willaspace.com/willaspace/${IMAGE_NAME}:latest .' sh 'cd /home/administrator/apps/${IMAGE_NAME}/;sudo ./BuildDocker' } } - stage('build for staging') { - when { - branch 'dev' - } - steps { - sh 'docker build -t registry.willaspace.com/willaspace/${IMAGE_NAME}-staging:latest -f Dockerfile.staging --build-arg ssh_prv_key="$(cat /home/administrator/.ssh/id_rsa)" .' - sh 'docker build -t registry.willaspace.com/willaspace/${IMAGE_NAME}-staging-nginx:latest -f Dockerfile.nginx .' - } - } stage('deploy to production') { when { branch 'master' @@ -40,7 +31,7 @@ pipeline { branch 'dev' } steps { - sh 'cd /apps/${IMAGE_NAME}-staging/ ; docker-compose up -d' + sh 'echo ${IMAGE_NAME}-staging comming soon ...' } } } diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php index ee4413b..b614487 100644 --- a/app/Exceptions/Handler.php +++ b/app/Exceptions/Handler.php @@ -61,7 +61,7 @@ class Handler extends ExceptionHandler } elseif ($exception instanceof HasRelationException) { return response()->json(Responser::error([$exception->getMessage()]), 422); } elseif ($this->isHttpException($exception)) { - if ($exception->getStatusCode() == 404) { + if ($exception->getStatusCode() == 404 and in_array("web",$request->route()->middleware())) { return response()->view('webBuilder::errors.404', [], 404); } } diff --git a/composer-prod.json b/composer-prod.json deleted file mode 100644 index d3c97b7..0000000 --- a/composer-prod.json +++ /dev/null @@ -1,164 +0,0 @@ -{ - "name": "laravel/laravel", - "type": "project", - "description": "The Laravel Framework.", - "keywords": [ - "framework", - "laravel" - ], - "license": "MIT", - "require": { - "php": "^7.4", - "coraxster/flysystem-aws-s3-v3-minio": "^1.0", - "fideloper/proxy": "^4.0", - "laravel/framework": "^8.0", - "laravel/passport": "^10", - "predis/predis": "^1.1", - "laravel/tinker": "^2.0", - "maatwebsite/excel": "^3.1", - "kalnoy/nestedset": "^6.0", - "sentry/sentry-laravel": "^2.3", - "spatie/laravel-medialibrary": "^8.0.0", - "io-developer/php-whois": "^4.0", - "silber/bouncer": "v1.0.0-rc.10", - "wm/blog": "dev-master", - "wm/common": "dev-master", - "wm/core": "dev-master", - "wm/crm": "dev-master", - "wm/portfolio": "dev-master", - "wm/product": "dev-master", - "wm/service": "dev-master", - "wm/store": "dev-master", - "wm/finance": "dev-master", - "wm/admin": "dev-master", - "wm/web-builder": "dev-master", - "wm/app-management": "dev-master", - "wm/notification": "dev-master", - "wm/roll-call": "dev-master", - "wm/lms": "dev-master", - "wm/service-store": "dev-master", - "wm/contact-us": "dev-master", - "zircote/swagger-php": "^3.0" - }, - "provide": { - "ext-imagick": "*" - }, - "require-dev": { - "facade/ignition": "^2.3.6", - "fzaninotto/faker": "^1.4", - "mockery/mockery": "^1.0", - "nunomaduro/collision": "^5.0", - "phpunit/phpunit": "^9.0" - }, - "config": { - "optimize-autoloader": true, - "preferred-install": "dist", - "sort-packages": true - }, - "extra": { - "laravel": { - "dont-discover": [] - } - }, - "autoload": { - "psr-4": { - "App\\": "app/", - "Modules\\": "Modules/" - }, - "classmap": [ - "database/seeds", - "database/factories" - ] - }, - "autoload-dev": { - "psr-4": { - "Tests\\": "tests/" - } - }, - "minimum-stability": "dev", - "prefer-stable": true, - "scripts": { - "post-autoload-dump": [ - "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", - "@php artisan package:discover --ansi", - "@php artisan morphmap:cache" - ], - "post-root-package-install": [ - "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" - ], - "post-create-project-cmd": [ - "@php artisan key:generate --ansi" - ] - }, - - "repositories": [ - { - "type": "vcs", - "url": "git@git.willaspace.com:WillaEngine-Project/crm.git" - }, - { - "type": "vcs", - "url": "git@git.willaspace.com:WillaEngine-Project/common.git" - }, - { - "type": "vcs", - "url": "git@git.willaspace.com:WillaEngine-Project/core.git" - }, - { - "type": "vcs", - "url": "git@git.willaspace.com:WillaEngine-Project/blog.git" - }, - { - "type": "vcs", - "url": "git@git.willaspace.com:WillaEngine-Project/portfolio.git" - }, - { - "type": "vcs", - "url": "git@git.willaspace.com:WillaEngine-Project/product.git" - }, - { - "type": "vcs", - "url": "git@git.willaspace.com:WillaEngine-Project/service.git" - }, - { - "type": "vcs", - "url": "git@git.willaspace.com:WillaEngine-Project/store.git" - }, - { - "type": "vcs", - "url": "git@git.willaspace.com:WillaEngine-Project/notification.git" - }, - { - "type": "vcs", - "url": "git@git.willaspace.com:WillaEngine-Project/roll-call.git" - }, - { - "type": "vcs", - "url": "git@git.willaspace.com:WillaEngine-Project/app-management.git" - }, - { - "type": "vcs", - "url": "git@git.willaspace.com:WillaEngine-Project/web-builder.git" - }, - { - "type": "vcs", - "url": "git@git.willaspace.com:WillaEngine-Project/finance.git" - }, - { - "type": "vcs", - "url": "git@git.willaspace.com:WillaEngine-Project/service-store.git" - }, - { - "type": "vcs", - "url": "git@git.willaspace.com:WillaEngine-Project/admin.git" - }, - { - "type": "vcs", - "url": "git@git.willaspace.com:WillaEngine-Project/lms.git" - }, - { - "type": "vcs", - "url": "git@git.willaspace.com:WillaEngine-Project/contact-us.git" - } - ] -} diff --git a/composer.json b/composer.json index eb36d00..84f24fd 100644 --- a/composer.json +++ b/composer.json @@ -89,7 +89,7 @@ "repositories": [ { "type": "path", - "url": "./modules/crm" + "url": "./modules/wm-crm" }, { "type": "path", diff --git a/webpack.mix.staging.js b/webpack.mix.staging.js index abf98d0..dc147d2 100644 --- a/webpack.mix.staging.js +++ b/webpack.mix.staging.js @@ -35,11 +35,25 @@ mix.webpackConfig({ mix.js('resources/js/Home/app.js', 'public/js/vue/Home').vue({version: 2}); -require('./vendor/wm/core/webpack.mix'); -require('./vendor/wm/common/webpack.mix'); -require('./vendor/wm/crm/webpack.mix'); -require('./vendor/wm/blog/webpack.mix'); -// require('./vendor/wm/warehouse/webpack.mix'); -// require('./vendor/wm/reservation/webpack.mix'); +require('./vendeor/wm/core/webpack.mix'); +require('./vendeor/wm/common/webpack.mix'); +require('./vendeor/wm/crm/webpack.mix'); +require('./vendeor/wm/blog/webpack.mix'); +require('./vendeor/wm/portfolio/webpack.mix'); +require('./vendeor/wm/product/webpack.mix'); +require('./vendeor/wm/service/webpack.mix'); +require('./vendeor/wm/store/webpack.mix'); +require('./vendeor/wm/admin/webpack.mix'); +require('./vendeor/wm/notification/webpack.mix'); +require('./vendeor/wm/roll-call/webpack.mix'); +require('./vendeor/wm/finance/webpack.mix'); +require('./vendeor/wm/app-management/webpack.mix'); +require('./vendeor/wm/web-builder/webpack.mix'); +require('./vendeor/wm/service-store/webpack.mix'); +require('./vendeor/wm/lms/webpack.mix'); +require('./vendeor/wm/service-store/webpack.mix'); +require('./vendeor/wm/contact-us/webpack.mix'); +// require('./vendeor/wm/warehouse/webpack.mix'); +// require('./vendeor/wm/reservation/webpack.mix'); mix.version(); diff --git a/worker.conf b/worker.conf index a099a57..133dde4 100644 --- a/worker.conf +++ b/worker.conf @@ -18,13 +18,16 @@ redirect_stderr=true stdout_logfile=/var/log/supervisor/scheduler.log [program:change-store-order-status] -command=php /var/www/html/artisan queue:work redis --queue=change_to_successful_store_order --tries=3 process_name=%(program_name)s_%(process_num)02d +command=php /var/www/html/artisan queue:work redis --queue=change_to_successful_store_order --sleep=3 --tries=3 --max-time=3600 autostart=true autorestart=true +stopasgroup=true +killasgroup=true user=www-data numprocs=3 redirect_stderr=true +stopwaitsecs=3600 stdout_logfile=/var/log/supervisor/change-store-order-status.log @@ -36,7 +39,7 @@ autorestart=true user=www-data numprocs=3 redirect_stderr=true -stdout_logfile=/var/log/supervisor/sms-status.log +stdout_logfile=/var/log/supervisor/create-store-product.log # [program:check-sms-status] @@ -48,4 +51,3 @@ stdout_logfile=/var/log/supervisor/sms-status.log # numprocs=3 # redirect_stderr=true # stdout_logfile=/var/log/supervisor/sms-status.log -