Добавил деплой с Circle CI
This commit is contained in:
parent
f92417c109
commit
60c202325e
80
.circleci/config.yml
Normal file
80
.circleci/config.yml
Normal file
@ -0,0 +1,80 @@
|
||||
version: 2.1
|
||||
|
||||
jobs:
|
||||
build_assets:
|
||||
docker:
|
||||
- image: node:12-alpine
|
||||
environment:
|
||||
OUTPUT_DIR: ./output_prod/static
|
||||
steps:
|
||||
- checkout
|
||||
- run: npm ci
|
||||
- run: mkdir -p ${OUTPUT_DIR}
|
||||
- run: npm run-script build-prod
|
||||
- run: ls -la ${OUTPUT_DIR}
|
||||
- run: mkdir -p /tmp/workspace/static
|
||||
- run: cp -R ${OUTPUT_DIR}/* /tmp/workspace/static
|
||||
- persist_to_workspace:
|
||||
root: /tmp/workspace
|
||||
paths:
|
||||
- static/*
|
||||
|
||||
build_html:
|
||||
docker:
|
||||
- image: php:7.4-cli
|
||||
environment:
|
||||
APP_ENV: prod
|
||||
APP_URL: https://vakhrushev.me
|
||||
STATIC_DIR: ./output_prod/static
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: /tmp/workspace
|
||||
- checkout
|
||||
- run: docker/provision.sh
|
||||
- run: composer install --no-interaction --no-progress
|
||||
- run: mkdir -p ${STATIC_DIR}
|
||||
- run: cp -R /tmp/workspace/static/* ${STATIC_DIR}
|
||||
- run: |
|
||||
./vendor/bin/sculpin generate \
|
||||
--env="${APP_ENV}" \
|
||||
--url="${APP_URL}" \
|
||||
--no-interaction \
|
||||
-vv
|
||||
- run: mkdir -p /tmp/workspace/html
|
||||
- run: cp -R ./output_prod/* /tmp/workspace/html
|
||||
- persist_to_workspace:
|
||||
root: /tmp/workspace
|
||||
paths:
|
||||
- html/*
|
||||
|
||||
deploy:
|
||||
docker:
|
||||
- image: php:7.4-cli
|
||||
steps:
|
||||
- checkout
|
||||
- add_ssh_keys
|
||||
- run: apt-get update; apt-get install -yy openssh-client
|
||||
- run: ssh-keyscan "vakhrushev.me" >> ~/.ssh/known_hosts
|
||||
- run: docker/provision.sh
|
||||
- attach_workspace:
|
||||
at: /tmp/workspace
|
||||
- run: mkdir -p ./output_prod
|
||||
- run: cp -R /tmp/workspace/html/* ./output_prod
|
||||
- run: ls -la ./output_prod
|
||||
- run: ls -la ./output_prod/static
|
||||
- run: dep deploy production -vv
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
build_and_deploy:
|
||||
jobs:
|
||||
- build_assets:
|
||||
filters:
|
||||
branches:
|
||||
only: master
|
||||
- build_html:
|
||||
requires:
|
||||
- build_assets
|
||||
- deploy:
|
||||
requires:
|
||||
- build_html
|
@ -4,7 +4,7 @@ namespace Deployer;
|
||||
|
||||
require 'recipe/common.php';
|
||||
|
||||
host('homepage.vakhrushev.me')
|
||||
host('vakhrushev.me')
|
||||
->user('homepage')
|
||||
->stage('production')
|
||||
->set('deploy_path', '/var/www/homepage')
|
||||
|
@ -1,30 +1,7 @@
|
||||
FROM php:7.4-cli
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
libtidy-dev \
|
||||
curl \
|
||||
git \
|
||||
gzip \
|
||||
rsync
|
||||
COPY ./docker/provision.sh /opt/
|
||||
|
||||
RUN docker-php-ext-install tidy \
|
||||
&& docker-php-ext-enable tidy
|
||||
|
||||
# Project folder
|
||||
RUN mkdir -p /srv/app
|
||||
RUN /opt/provision.sh
|
||||
|
||||
WORKDIR /srv/app
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y git zip curl gnupg \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# get composer and required tools
|
||||
RUN curl -sLO https://getcomposer.org/download/1.9.3/composer.phar \
|
||||
&& mv composer.phar /usr/local/bin/composer \
|
||||
&& chmod +x /usr/local/bin/composer
|
||||
|
||||
# Deployer
|
||||
RUN curl -sLO https://deployer.org/releases/v6.7.3/deployer.phar \
|
||||
&& mv deployer.phar /usr/local/bin/dep \
|
||||
&& chmod +x /usr/local/bin/dep
|
||||
|
29
docker/provision.sh
Executable file
29
docker/provision.sh
Executable file
@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
set -eux
|
||||
|
||||
apt-get update && apt-get install -y \
|
||||
curl \
|
||||
git \
|
||||
gnupg \
|
||||
gzip \
|
||||
libtidy-dev \
|
||||
rsync \
|
||||
zip \
|
||||
;
|
||||
|
||||
docker-php-ext-install tidy \
|
||||
&& docker-php-ext-enable tidy
|
||||
|
||||
# Project folder
|
||||
mkdir -p /srv/app
|
||||
|
||||
# Composer and required tools
|
||||
curl -sLO https://getcomposer.org/download/1.10.1/composer.phar \
|
||||
&& mv composer.phar /usr/local/bin/composer \
|
||||
&& chmod +x /usr/local/bin/composer
|
||||
|
||||
# Deployer
|
||||
curl -sLO https://deployer.org/releases/v6.7.3/deployer.phar \
|
||||
&& mv deployer.phar /usr/local/bin/dep \
|
||||
&& chmod +x /usr/local/bin/dep
|
@ -24,5 +24,7 @@
|
||||
|
||||
{# Extra fonts #}
|
||||
{% include 'font-awesome.twig' %}
|
||||
|
||||
<!-- Deployed wih Circle CI -->
|
||||
</body>
|
||||
</html>
|
||||
|
Loading…
Reference in New Issue
Block a user