Добавил деплой с 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';
|
require 'recipe/common.php';
|
||||||
|
|
||||||
host('homepage.vakhrushev.me')
|
host('vakhrushev.me')
|
||||||
->user('homepage')
|
->user('homepage')
|
||||||
->stage('production')
|
->stage('production')
|
||||||
->set('deploy_path', '/var/www/homepage')
|
->set('deploy_path', '/var/www/homepage')
|
||||||
|
@ -1,30 +1,7 @@
|
|||||||
FROM php:7.4-cli
|
FROM php:7.4-cli
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y \
|
COPY ./docker/provision.sh /opt/
|
||||||
libtidy-dev \
|
|
||||||
curl \
|
|
||||||
git \
|
|
||||||
gzip \
|
|
||||||
rsync
|
|
||||||
|
|
||||||
RUN docker-php-ext-install tidy \
|
RUN /opt/provision.sh
|
||||||
&& docker-php-ext-enable tidy
|
|
||||||
|
|
||||||
# Project folder
|
|
||||||
RUN mkdir -p /srv/app
|
|
||||||
|
|
||||||
WORKDIR /srv/app
|
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 #}
|
{# Extra fonts #}
|
||||||
{% include 'font-awesome.twig' %}
|
{% include 'font-awesome.twig' %}
|
||||||
|
|
||||||
|
<!-- Deployed wih Circle CI -->
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
Loading…
Reference in New Issue
Block a user