Развертывание Вашего сайта

Поскольку сайты Jigsaw - это просто статический HTML и Javascript, их легко и дешево развернуть и разместить.

Использование GitHub Pages

GitHub Pages - бесплатная служба для размещения статических сайтов, предлагаемая GitHub. Для начала прочтите документацию, чтобы понять, как работает служба.

Подход, который мы используем в Tighten для развертывания сайтов Jigsaw на страницах GitHub, выглядит так:

  1. Создание своего сайт для продакшена

    $ npm run prod
    
  2. Зафиксируйте папку build_production в Вашем репозитории

    $ git add build_production && git commit -m "Сборка для деплоя"
    
  3. Используйте git subtree push, чтобы просто переместить папку build_production в ветку gh-pages

    $ git subtree push --prefix build_production origin gh-pages
    

Использование Netlify

Netlify - это сервис, который предоставляет бесплатный хостинг статических сайтов и непрерывное развертывание, которое можно настроить для работы с любым генератором статических сайтов.

Чтобы развернуть сайт в Netlify, сначала создайте файл netlify.toml со следующей конфигурацией:

[build]

command = "npm run prod"
publish = "build_production"
environment = { PHP_VERSION = "7.4" }

Отправьте этот файл в свой репозиторий.

Затем подключите свой репозиторий к приложению Netlify, чтобы настроить непрерывное развертывание.

Вы можете пропустить настройку сборки и развертывания, потому что Netlify прочитает файл netlify.toml, который мы создали ранее.

Использование Amazon S3

Amazon S3 - очень доступный сервис для размещения статических ресурсов. Возможно, Вы использовали его в прошлом для размещения таких вещей, как изображения, загрузки пользователей или файлы PDF в своих веб-приложениях.

Возможно, Вы не знали, что Amazon S3 также имеет первоклассную поддержку для размещения статических сайтов, таких как Ваши проекты Jigsaw.

Чтобы развернуть сайт на S3, сначала создайте свой сайт для продакшена:

$ ./vendor/bin/jigsaw build production

Затем просто выполните действия, описанные в документации статического сайта Amazon, чтобы развернуть папку build_production в корзине S3.

Вручную

Если у Вас есть существующий сервер, который Вы хотите использовать для размещения своего сайта Jigsaw, все, что Вам нужно сделать, это загрузить содержимое build_production в общую папку, на которую указывает URL-адрес, который Вы хотите использовать.

Изменение исходного и целевого каталогов

Jigsaw будет искать Ваши исходные файлы в каталоге source и выведет Ваши файлы в каталог с именем build_, за которым следует среда, указанная вами в команде build (по умолчанию build_local или build_staging, build_production и т. д.). Однако Вы можете настроить эти местоположения, добавив ключ build к массиву в config.php и указав свой собственный путь к источнику и/или месту назначения.

config.php

<?php

return [
    'build' => [
        'source' => 'src',
        'destination' => 'my_desination',
    ],
    ...

Пути источника и назначения указываются относительно корня Вашего проекта, то есть места, где находится Ваш файл config.php.

config.php

<?php

return [
    'build' => [
        'destination' => '../build-one-level-up',
    ],
    ...

Чтобы включить имя среды в путь назначения, используйте токен {env} в имени пути. {env} будет заменен средой, указанной при запуске команды build, по умолчанию - local.

config.php

<?php

return [
    'build' => [
        'destination' => '../../{env}/public',
    ],
    ...

В этом примере запуск ./vendor/bin/jigsaw build staging выведет Ваши собранные файлы в staging/public, на два уровня выше от корня Вашего проекта. Jigsaw создаст любые каталоги, которые еще не существуют.

Вы также можете назначить разные пути источника и сборки для разных сред, используя несколько специфичных для среды файлов config.php. Пути источника и назначения в config.production.php, например, будут объединены с любыми путями сборки, которые были определены в config.php при запуске ./vendor/bin/jigsaw build production.