Spec-Zone.ru › Phoenix

Развертывание на Gigalixir

Исходный код

Цель этого руководства — запустить приложение Phoenix на Gigalixir.

Что нам понадобится

Для этого руководства нам понадобится только работающее приложение Phoenix. Если вам нужно простое приложение для развертывания, следуйте руководству «Начало работы».

Шаги

Разобьем этот процесс на несколько шагов, чтобы нам было проще отслеживать ход работы.

  • Инициализировать репозиторий Git
  • Установить интерфейс командной строки Gigalixir
  • Зарегистрироваться на Gigalixir
  • Создать и настроить приложение Gigalixir
  • Подготовить базу данных
  • Подготовить проект к работе с Gigalixir
  • Развернуть приложение!
  • Полезные команды Gigalixir

Инициализация репозитория Git

Если вы еще этого не сделали, нужно зафиксировать файлы в Git. Для этого выполним в каталоге проекта следующие команды:

$ git init
$ git add .
$ git commit -m "Initial commit"

Установка интерфейса командной строки Gigalixir

Следуйте инструкциям здесь, чтобы установить интерфейс командной строки для своей платформы.

Регистрация на Gigalixir

Зарегистрироваться можно на сайте gigalixir.com или с помощью интерфейса командной строки. Воспользуемся интерфейсом командной строки.

$ gigalixir signup

# or with a Google account
$ gigalixir signup:google

Для бесплатного тарифа Gigalixir не требуется банковская карта. Он включает один экземпляр приложения и одну базу данных PostgreSQL бесплатно. Однако для приложения, используемого в рабочей среде, рекомендуем перейти на платный тариф.

Теперь выполним вход

$ gigalixir login

# or with a Google account
$ gigalixir login:google

И проверим

$ gigalixir account

Создание и настройка приложения Gigalixir

Есть два способа развернуть приложение Phoenix на Gigalixir: с помощью mix или релизов Elixir. В этом руководстве мы будем использовать релизы Elixir, так как это рекомендуемый способ. Подробнее см. в разделе «Релизы Elixir и Mix». Если вы хотите выполнить развертывание с помощью mix, следуйте руководству по развертыванию Phoenix с Mix.

Создание приложения Gigalixir

Создадим приложение Gigalixir

$ gigalixir create -n "your-app-name"

Примечание: впоследствии изменить имя приложения нельзя. Если не указать имя, будет сгенерировано случайное.

Указание версий

Для Gigalixir необходимо указать версии Erlang и Elixir, которые вы собираетесь использовать. Как правило, в рабочей среде лучше запускать те же версии, что и в среде разработки. Например:

$ echo 'elixir_version=1.17.2' > elixir_buildpack.config
$ echo 'erlang_version=27.0' >> elixir_buildpack.config
$ git add elixir_buildpack.config

Если вы не укажете версию nodejs, Gigalixir будет использовать последнюю версию. Чтобы указать версию nodejs, выполните следующие действия:

$ echo 'node_version=22.7.0' > phoenix_static_buildpack.config
$ git add elixir_buildpack.config phoenix_static_buildpack.config assets/package.json

Наконец, не забудьте зафиксировать изменения:

$ git commit -m "Set versions"

Подготовка базы данных

Подготовим базу данных для приложения. Чтобы создать бесплатную базу данных, выполните следующую команду

$ gigalixir pg:create --free

Для базы данных, готовой к использованию в рабочей среде, перейдите на тариф Standard и создайте базу данных уровня Standard

$ gigalixir account:upgrade
$ gigalixir pg:create

Проверьте, что база данных создана

$ gigalixir pg

Проверьте, что были созданы DATABASE_URL и POOL_SIZE

$ gigalixir config

Подготовка проекта к работе с Gigalixir

Для запуска приложения на Gigalixir ничего делать не нужно, но для приложения, используемого в рабочей среде, вероятно, стоит принудительно включить SSL.

Защита подключения к базе данных

Также можно использовать SSL для подключения к базе данных. В файле config/runtime.exs:

ssl: [
  verify: :verify_peer,
  cacerts: :public_key.cacerts_get()
]

Время развертывания!

Теперь проект готов к развертыванию на Gigalixir. Убедитесь, что все изменения зафиксированы в Git, и выполните следующую команду:

$ git push gigalixir

Проверьте состояние развертывания и дождитесь, пока приложение не будет Healthy

$ gigalixir ps

Выполните миграции

$ gigalixir ps:migrate

Проверьте журналы приложения

$ gigalixir logs

Если все выглядит хорошо, посмотрим на приложение, работающее на Gigalixir

$ gigalixir open

Полезные команды Gigalixir

Откройте удаленную консоль

$ gigalixir account:ssh_keys:add "$(cat ~/.ssh/id_rsa.pub)"
$ gigalixir ps:remote_console

Инструкции по настройке кластеризации см. в разделе «Кластеризация узлов»

Информацию о пользовательских доменах, масштабировании, задачах и других функциях см. в документации Gigalixir.

Устранение неполадок

См. разделы «Устранение неполадок» и «Часто задаваемые вопросы»

Также вы можете написать по адресу help@gigalixir.com или запросить приглашение и присоединиться к каналу #gigalixir в Slack.

← Предыдущая страница Развертывание на Fly.io
Следующая страница → Развертывание на Heroku

Пакет Hex Предпросмотр Hex (текущий файл) Скачать версию ePub

Создано с помощью ExDoc (v0.40.3) для языка программирования Elixir

© 2014 Chris McCord
Licensed under the MIT License.
https://phoenix.hexdocs.pm/gigalixir.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API