diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..03e1b40 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,43 @@ +kind: pipeline +type: exec +name: default + +steps: + - name: build to production + commands: + - sudo cp /home/administrator/apps/willaengine/composer-prod.json . + - docker build -t registry.willaspace.com/willaspace/willaengine:latest --build-arg ssh_prv_key="$(cat /home/administrator/.ssh/id_rsa)" . + when: + branch: + - master + + - name: deploy to production + 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 php artisan config:cache + - docker exec willaengine php artisan route:cache + when: + branch: + - master + + - name: build to staging + commands: + - docker build -t registry.willaspace.com/willaspace/willaengine-staging:latest --build-arg COMPOSER_FILE_NAME=composer-staging -f Dockerfile.staging . + - docker build -t registry.willaspace.com/willaspace/willaengine-staging-nginx:latest -f Dockerfile.nginx . + when: + branch: + - dev + + - name: deploy to staging + commands: + - cd /apps/willaengine-staging/ ; docker-compose up -d + when: + branch: + - dev + +trigger: + branch: + - master + - dev diff --git a/Dockerfile.nginx b/Dockerfile.nginx index db0a5bb..40860b1 100644 --- a/Dockerfile.nginx +++ b/Dockerfile.nginx @@ -1,8 +1,3 @@ -FROM registry.willaspace.com/willaspace/willaengine-staging:latest AS php_builder - -WORKDIR /var/www/html/ -RUN npm install -RUN npm run staging - FROM nginx:1.21.1 -COPY --from=php_builder /var/www/html /var/www/html + +COPY public /var/www/html/public diff --git a/Dockerfile.staging b/Dockerfile.staging index 9aa17cf..c953bb4 100644 --- a/Dockerfile.staging +++ b/Dockerfile.staging @@ -1,38 +1,6 @@ -FROM dfs1368/laravel-php-fpm:7.4 - -ARG ssh_prv_key +FROM fsaravi/standard-laravel:7.4 WORKDIR /var/www/html - -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 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/html/database - -COPY composer-staging.* /var/www/html/ - -RUN composer clearcache && COMPOSER=composer-staging.json composer install --no-scripts - -COPY . /var/www/html - RUN php artisan morphmap:cache -RUN chown -R www-data:www-data \ - /var/www/html/public \ - /var/www/html/storage \ - /var/www/html/bootstrap/cache