From d246545d5dcc62e2a31be9d0b027dc2e3870533b Mon Sep 17 00:00:00 2001 From: farid Date: Thu, 27 Jan 2022 22:09:10 +0330 Subject: [PATCH 01/15] feat: update docker file --- .gitignore | 1 - Dockerfile | 11 ++- Dockerfile.nginx | 9 +++ Dockerfile.staging | 35 +++++++++ Jenkinsfile | 16 ++++- composer-prod.json | 163 ++++++++++++++++++++++++++++++++++++++++++ composer-staging.json | 163 ++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 393 insertions(+), 5 deletions(-) create mode 100644 Dockerfile.nginx create mode 100644 Dockerfile.staging create mode 100644 composer-prod.json create mode 100644 composer-staging.json diff --git a/.gitignore b/.gitignore index 0b81d17..a5dbc7e 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,6 @@ # 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 -composer-prod.json ### Laravel ### /vendor/ diff --git a/Dockerfile b/Dockerfile index 079dfd0..5e5361e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,17 @@ FROM dfs1368/laravel-php-fpm:7.4 +ARG ssh_prv_key + WORKDIR /var/www -RUN apt install -y sendmail libpng-dev +RUN apt install -y sendmail openssh-server libpng-dev + +# Authorize SSH Host +RUN mkdir -p /root/.ssh && \ + chmod 0700 /root/.ssh && \ + echo "$ssh_prv_key" > /root/.ssh/id_rsa && \ + ssh-keyscan git.willaspace.com > /root/.ssh/known_hosts && \ + chmod 600 /root/.ssh/id_rsa RUN docker-php-ext-install gd diff --git a/Dockerfile.nginx b/Dockerfile.nginx new file mode 100644 index 0000000..aae6504 --- /dev/null +++ b/Dockerfile.nginx @@ -0,0 +1,9 @@ +FROM registry.willaspace.com/willaspace/${IMAGE_NAME}-staging:latest AS php_builder + +FROM node:16.7.0-alpine AS builder +COPY --from=php_builder /var/www /app +WORKDIR /app +RUN npm run staging + +FROM nginx:1.21.1 +COPY --from=builder /app/public /usr/share/nginx/html diff --git a/Dockerfile.staging b/Dockerfile.staging new file mode 100644 index 0000000..e0f6968 --- /dev/null +++ b/Dockerfile.staging @@ -0,0 +1,35 @@ +FROM dfs1368/laravel-php-fpm:7.4 + +ARG ssh_prv_key + +WORKDIR /var/www + +RUN apt install -y sendmail openssh-server libpng-dev + +# Authorize SSH Host +RUN mkdir -p /root/.ssh && \ + chmod 0700 /root/.ssh && \ + echo "$ssh_prv_key" > /root/.ssh/id_rsa && \ + ssh-keyscan git.willaspace.com > /root/.ssh/known_hosts && \ + chmod 600 /root/.ssh/id_rsa + +RUN docker-php-ext-install gd + +RUN printf 'upload_max_filesize=300M;\npost_max_size=300M;\nmax_execution_time=600;\nmax_input_time=600;\n' >> /usr/local/etc/php/conf.d/docker-php-memlimit.ini; +RUN echo 'pm.max_children = 100' >> /usr/local/etc/php-fpm.d/zz-docker.conf + +COPY database /var/www/database + +COPY composer-staging.* /var/www/ + +RUN composer clearcache && COMPOSER=composer-staging.json composer install --no-scripts + +COPY . /var/www + +RUN php artisan morphmap:cache + +RUN chown -R www-data:www-data \ + /var/www/public \ + /var/www/storage \ + /var/www/bootstrap/cache + diff --git a/Jenkinsfile b/Jenkinsfile index 4a1924f..4c63403 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -5,15 +5,24 @@ pipeline { } } stages { - stage('build') { + stage('build for production') { when { branch 'master' } steps { - sh 'cd /home/administrator/apps/${IMAGE_NAME}/;docker build -t registry.willaspace.com/willaspace/${IMAGE_NAME}:latest .' + 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}/;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' @@ -31,7 +40,8 @@ pipeline { branch 'dev' } steps { - sh 'echo ${IMAGE_NAME}-staging comming soon ...' + sh 'cd /apps/${IMAGE_NAME}-staging/ ; docker-compose up -d' + sh 'docker exec willaengine bash -c "COMPOSER=composer-staging.json composer update"' } } } diff --git a/composer-prod.json b/composer-prod.json new file mode 100644 index 0000000..3a4232c --- /dev/null +++ b/composer-prod.json @@ -0,0 +1,163 @@ +{ + "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", + "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-staging.json b/composer-staging.json new file mode 100644 index 0000000..e4d2159 --- /dev/null +++ b/composer-staging.json @@ -0,0 +1,163 @@ +{ + "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", + "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-dev", + "wm/common": "dev-dev", + "wm/core": "dev-dev", + "wm/crm": "dev-dev", + "wm/portfolio": "dev-dev", + "wm/product": "dev-dev", + "wm/service": "dev-dev", + "wm/store": "dev-dev", + "wm/finance": "dev-dev", + "wm/admin": "dev-dev", + "wm/web-builder": "dev-dev", + "wm/app-management": "dev-dev", + "wm/notification": "dev-dev", + "wm/roll-call": "dev-dev", + "wm/lms": "dev-dev", + "wm/service-store": "dev-dev", + "wm/contact-us": "dev-dev", + "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" + } + ] +} From c5eb32cc010a06b9008daca08e954b13f6a8ca32 Mon Sep 17 00:00:00 2001 From: farid Date: Thu, 27 Jan 2022 22:21:14 +0330 Subject: [PATCH 02/15] fix: remove extra repositories in staging --- composer-staging.json | 52 ------------------------------------------- 1 file changed, 52 deletions(-) diff --git a/composer-staging.json b/composer-staging.json index e4d2159..eafb24f 100644 --- a/composer-staging.json +++ b/composer-staging.json @@ -106,58 +106,6 @@ { "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" } ] } From d0a06bd9eb2e98ff68632eb332b3195c3cd4ea3e Mon Sep 17 00:00:00 2001 From: farid Date: Thu, 27 Jan 2022 22:22:31 +0330 Subject: [PATCH 03/15] fix: remove extra repositories in staging --- composer-staging.json | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/composer-staging.json b/composer-staging.json index eafb24f..236e89f 100644 --- a/composer-staging.json +++ b/composer-staging.json @@ -24,19 +24,6 @@ "wm/common": "dev-dev", "wm/core": "dev-dev", "wm/crm": "dev-dev", - "wm/portfolio": "dev-dev", - "wm/product": "dev-dev", - "wm/service": "dev-dev", - "wm/store": "dev-dev", - "wm/finance": "dev-dev", - "wm/admin": "dev-dev", - "wm/web-builder": "dev-dev", - "wm/app-management": "dev-dev", - "wm/notification": "dev-dev", - "wm/roll-call": "dev-dev", - "wm/lms": "dev-dev", - "wm/service-store": "dev-dev", - "wm/contact-us": "dev-dev", "zircote/swagger-php": "^3.0" }, "provide": { From 66f118fe9842487b723841565e7ec7820f77c730 Mon Sep 17 00:00:00 2001 From: farid Date: Thu, 27 Jan 2022 22:55:39 +0330 Subject: [PATCH 04/15] fix: typo in Dockerfile.nginx --- Dockerfile.nginx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.nginx b/Dockerfile.nginx index aae6504..36ef02b 100644 --- a/Dockerfile.nginx +++ b/Dockerfile.nginx @@ -1,4 +1,4 @@ -FROM registry.willaspace.com/willaspace/${IMAGE_NAME}-staging:latest AS php_builder +FROM registry.willaspace.com/willaspace/willaengine-staging:latest AS php_builder FROM node:16.7.0-alpine AS builder COPY --from=php_builder /var/www /app From c55944352631f270369b8cf7d255c8fa10f4c1ae Mon Sep 17 00:00:00 2001 From: farid Date: Fri, 28 Jan 2022 09:17:20 +0330 Subject: [PATCH 05/15] fix: Dockerfile.nginx file --- Dockerfile.nginx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile.nginx b/Dockerfile.nginx index 36ef02b..fcdd58e 100644 --- a/Dockerfile.nginx +++ b/Dockerfile.nginx @@ -1,8 +1,9 @@ FROM registry.willaspace.com/willaspace/willaengine-staging:latest AS php_builder FROM node:16.7.0-alpine AS builder -COPY --from=php_builder /var/www /app +COPY --from=php_builder /var/www/ /app/ WORKDIR /app +RUN npm install RUN npm run staging FROM nginx:1.21.1 From b53b757d9d4933f906c4c60e4e805c498935ff6f Mon Sep 17 00:00:00 2001 From: farid Date: Fri, 28 Jan 2022 09:21:54 +0330 Subject: [PATCH 06/15] fix: update webpack staging file --- webpack.mix.staging.js | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/webpack.mix.staging.js b/webpack.mix.staging.js index dc147d2..abf98d0 100644 --- a/webpack.mix.staging.js +++ b/webpack.mix.staging.js @@ -35,25 +35,11 @@ mix.webpackConfig({ mix.js('resources/js/Home/app.js', 'public/js/vue/Home').vue({version: 2}); -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'); +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'); mix.version(); From 9830a8cc4d3f95d8524874df55e121c94c52c8b5 Mon Sep 17 00:00:00 2001 From: farid Date: Fri, 28 Jan 2022 09:50:14 +0330 Subject: [PATCH 07/15] fix: change Dockerfile structure --- Dockerfile.nginx | 4 +--- Dockerfile.staging | 3 +++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Dockerfile.nginx b/Dockerfile.nginx index fcdd58e..f695b77 100644 --- a/Dockerfile.nginx +++ b/Dockerfile.nginx @@ -1,8 +1,6 @@ FROM registry.willaspace.com/willaspace/willaengine-staging:latest AS php_builder -FROM node:16.7.0-alpine AS builder -COPY --from=php_builder /var/www/ /app/ -WORKDIR /app +WORKDIR /var/www/ RUN npm install RUN npm run staging diff --git a/Dockerfile.staging b/Dockerfile.staging index e0f6968..8cd86cf 100644 --- a/Dockerfile.staging +++ b/Dockerfile.staging @@ -15,6 +15,9 @@ RUN mkdir -p /root/.ssh && \ RUN docker-php-ext-install gd +RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && \ + apt-get install -y nodejs + RUN printf 'upload_max_filesize=300M;\npost_max_size=300M;\nmax_execution_time=600;\nmax_input_time=600;\n' >> /usr/local/etc/php/conf.d/docker-php-memlimit.ini; RUN echo 'pm.max_children = 100' >> /usr/local/etc/php-fpm.d/zz-docker.conf From eddc0958b6809cc1bf1f58a07007bae122ac39d4 Mon Sep 17 00:00:00 2001 From: farid Date: Fri, 28 Jan 2022 10:05:05 +0330 Subject: [PATCH 08/15] fix: dockerfile alias name --- Dockerfile.nginx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.nginx b/Dockerfile.nginx index f695b77..d776e44 100644 --- a/Dockerfile.nginx +++ b/Dockerfile.nginx @@ -5,4 +5,4 @@ RUN npm install RUN npm run staging FROM nginx:1.21.1 -COPY --from=builder /app/public /usr/share/nginx/html +COPY --from=php_builder /app/public /usr/share/nginx/html From a937bbf570ffb1e8c1bc7a095569d9a387ad37bb Mon Sep 17 00:00:00 2001 From: farid Date: Fri, 28 Jan 2022 10:13:48 +0330 Subject: [PATCH 09/15] fix: dockerfile source address --- Dockerfile.nginx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.nginx b/Dockerfile.nginx index d776e44..b24ed6a 100644 --- a/Dockerfile.nginx +++ b/Dockerfile.nginx @@ -5,4 +5,4 @@ RUN npm install RUN npm run staging FROM nginx:1.21.1 -COPY --from=php_builder /app/public /usr/share/nginx/html +COPY --from=php_builder /var/www/public /usr/share/nginx/html From 32a5cf0389fd63327fb6b1725090578766b42a92 Mon Sep 17 00:00:00 2001 From: farid Date: Fri, 28 Jan 2022 10:34:36 +0330 Subject: [PATCH 10/15] fix: change destination path in nginx dockerfile --- .dockerignore | 1 + Dockerfile.nginx | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.dockerignore b/.dockerignore index 3a90448..1f88720 100644 --- a/.dockerignore +++ b/.dockerignore @@ -3,3 +3,4 @@ vendor node_modules modules composer.lock +Dockerfile* diff --git a/Dockerfile.nginx b/Dockerfile.nginx index b24ed6a..80e8ebc 100644 --- a/Dockerfile.nginx +++ b/Dockerfile.nginx @@ -5,4 +5,4 @@ RUN npm install RUN npm run staging FROM nginx:1.21.1 -COPY --from=php_builder /var/www/public /usr/share/nginx/html +COPY --from=php_builder /var/www /var/www/html From ffba4b7e2ab4adccaef14d4bff6ba45e63fee0ff Mon Sep 17 00:00:00 2001 From: farid Date: Fri, 28 Jan 2022 10:56:58 +0330 Subject: [PATCH 11/15] fix: ignore Jenkinsfile --- .dockerignore | 1 + Jenkinsfile | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.dockerignore b/.dockerignore index 1f88720..1726227 100644 --- a/.dockerignore +++ b/.dockerignore @@ -4,3 +4,4 @@ node_modules modules composer.lock Dockerfile* +Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile index 4c63403..f1f9c90 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -41,7 +41,6 @@ pipeline { } steps { sh 'cd /apps/${IMAGE_NAME}-staging/ ; docker-compose up -d' - sh 'docker exec willaengine bash -c "COMPOSER=composer-staging.json composer update"' } } } From 08e959ad740240d9286e77e50ac4c65c350350e2 Mon Sep 17 00:00:00 2001 From: farid Date: Fri, 28 Jan 2022 11:37:53 +0330 Subject: [PATCH 12/15] fix: change dockerfile staging root directory --- Dockerfile.staging | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/Dockerfile.staging b/Dockerfile.staging index 8cd86cf..1e19f03 100644 --- a/Dockerfile.staging +++ b/Dockerfile.staging @@ -2,7 +2,7 @@ FROM dfs1368/laravel-php-fpm:7.4 ARG ssh_prv_key -WORKDIR /var/www +WORKDIR /var/www/html RUN apt install -y sendmail openssh-server libpng-dev @@ -15,24 +15,23 @@ RUN mkdir -p /root/.ssh && \ RUN docker-php-ext-install gd -RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && \ - apt-get install -y nodejs + RUN printf 'upload_max_filesize=300M;\npost_max_size=300M;\nmax_execution_time=600;\nmax_input_time=600;\n' >> /usr/local/etc/php/conf.d/docker-php-memlimit.ini; RUN echo 'pm.max_children = 100' >> /usr/local/etc/php-fpm.d/zz-docker.conf -COPY database /var/www/database +COPY database /var/www/html/database -COPY composer-staging.* /var/www/ +COPY composer-staging.* /var/www/html/ RUN composer clearcache && COMPOSER=composer-staging.json composer install --no-scripts -COPY . /var/www +COPY . /var/www/html RUN php artisan morphmap:cache RUN chown -R www-data:www-data \ - /var/www/public \ - /var/www/storage \ - /var/www/bootstrap/cache + /var/www/html/public \ + /var/www/html/storage \ + /var/www/html/bootstrap/cache From 68d40f8f9652f3c382d7070f3cf911041abba1bd Mon Sep 17 00:00:00 2001 From: farid Date: Fri, 28 Jan 2022 11:43:34 +0330 Subject: [PATCH 13/15] fix: dockerfile nginx --- Dockerfile.nginx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile.nginx b/Dockerfile.nginx index 80e8ebc..db0a5bb 100644 --- a/Dockerfile.nginx +++ b/Dockerfile.nginx @@ -1,8 +1,8 @@ FROM registry.willaspace.com/willaspace/willaengine-staging:latest AS php_builder -WORKDIR /var/www/ +WORKDIR /var/www/html/ RUN npm install RUN npm run staging FROM nginx:1.21.1 -COPY --from=php_builder /var/www /var/www/html +COPY --from=php_builder /var/www/html /var/www/html From 1ea91ff408cb93b59adf7519c415bfe046fb7459 Mon Sep 17 00:00:00 2001 From: farid Date: Fri, 28 Jan 2022 11:48:19 +0330 Subject: [PATCH 14/15] fix: add node installation command --- Dockerfile.staging | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile.staging b/Dockerfile.staging index 1e19f03..9aa17cf 100644 --- a/Dockerfile.staging +++ b/Dockerfile.staging @@ -15,7 +15,8 @@ RUN mkdir -p /root/.ssh && \ RUN docker-php-ext-install gd - +RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && \ + apt-get install -y nodejs RUN printf 'upload_max_filesize=300M;\npost_max_size=300M;\nmax_execution_time=600;\nmax_input_time=600;\n' >> /usr/local/etc/php/conf.d/docker-php-memlimit.ini; RUN echo 'pm.max_children = 100' >> /usr/local/etc/php-fpm.d/zz-docker.conf From 3f4e8b7170f00e3e7443081bd9773c0bad419579 Mon Sep 17 00:00:00 2001 From: Alireza Azizi Date: Thu, 24 Feb 2022 16:06:40 +0330 Subject: [PATCH 15/15] add drone ci cofig file --- .drone.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .drone.yml diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..2193f47 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,24 @@ +kind: pipeline +type: exec +name: default + +steps: +- name: build + commands: + - docker build -t registry.willaspace.com/willaspace/${IMAGE_NAME}:latest --build-arg ssh_prv_key="$(cat /home/administrator/.ssh/id_rsa)" + - cd /home/administrator/apps/${IMAGE_NAME}/;sudo ./BuildDocker + +- name: deploy + commands: + - cd /home/administrator/apps/${IMAGE_NAME}/ ; docker-compose up -d + - docker exec willaengine bash -c "COMPOSER=composer-prod.json composer update" + - docker exec willaengine service cron start + - docker exec willaengine php artisan config:cache + - docker exec willaengine php artisan route:cache + +trigger: + branch: + - master + +environment: + - IMAGE_NAME=willaengine