В этом руководстве мы покажем вам процесс установки и настройки исходного приложения Ruby on Rails версии 7.1 для развертывания и размещения на Kinsta. Независимо от того, являетесь ли вы новичком или опытным разработчиком Ruby on Rails, это пошаговое руководство поможет вам начать развертывание приложения на Kinsta.

Предварительные условия

Прежде чем углубиться в это руководство, мы предполагаем, что у вас есть базовые знания о Git и Ruby on Rails, включая установку Ruby, Rails и необходимых зависимостей на вашей локальной машине разработки.

Шаг 1. Создайте учетную запись хостинга Kinsta.

Посетите веб-сайт Kinsta и создайте новую учетную запись, если у вас ее еще нет. Настройте свое доменное имя или используйте назначенный URL-адрес Kinsta, который предоставляется при развертывании.

Шаг 2. Создайте новое приложение Ruby on Rails

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

rails new myapp --database=postgresql --javascript=esbuild --css=tailwind

Эта команда создает новое приложение Rails с именем myapp с PostgreSQL в качестве адаптера базы данных, esbuild для компиляции нашего Javascript и Tailwind CSS рамки.

Смело заменяйте myapp с желаемым названием приложения.

Полный список доступных опций для настройки см. rails new запуск команды:

rails new --help

Шаг 3. Настройте ваше приложение Rails

Перейдите в каталог приложения:

cd myapp

Убедитесь, что при объединении вашего приложения Rails в эту конфигурацию также добавляется платформа Linux, поскольку именно эта ОС используется для развертывания. Введите в терминал следующую команду:

bundle lock --add-platform x86_64-linux

Скрипт веб-процесса

Добавить start.sh файл в мусорное ведро каталог приложения. Это гарантирует, что сервер запустит ваше приложение и выполнит необходимые команды для загрузки и обновления базы данных перед запуском. В терминале создайте файл, введя:

touch bin/start.sh

Внутри этого файла добавьте следующее:

#!/bin/bash

bundle exec rails db:prepare
bundle exec rails server

Покажи мне дом

И чтобы дать нам Hello World, создайте Home страница приложения. В терминале введите:

bin/rails generate controller Home index

Это выведет:

create  app/controllers/home_controller.rb
route    get 'home/index'
invoke  erb
create  app/views/home
create  app/views/home/index.html.erb
invoke  test_unit
create  test/controllers/home_controller_test.rb
invoke  helper
create  app/helpers/home_helper.rb
invoke  test_unit

Открыть приложение/views/home/index.html.erbи замените его содержимое на:

 <h1>Hello, Kinsta!</h1>

Настройка домашней страницы приложения

Открыть config/routes.rbи добавьте следующий корневой маршрут в начало файла Rails.application.routes.draw блокировать:

Rails.application.routes.draw do
  root "home#index"

  get "/home", to: "home#index"
end

Теперь, когда мы запускаем наше приложение локально, мы видим нашу новую домашнюю страницу. Поскольку мы создали наше новое приложение с добавлением esbuild, у нас есть упрощенная команда, которая поможет нам загрузить наше приложение. Выполнив следующую команду, Rails запускает сервер и отслеживает изменения CSS и Javascript с перезагрузкой в ​​реальном времени:

bin/dev

Создать базу данных

Поскольку мы создали наше приложение Rails с базой данных PostgreSQL, нам необходимо настроить это через панель управления MyKinsta:

  • Войдите в свою учетную запись Kinsta.com и на панели управления нажмите Добавить услуги и выберите База данных.
  • Заполните основные данные и подтвердите их на странице «Сводка», нажав кнопку Создать базу данных.

Создать базу данных

Шаг 4. Подготовьтесь к развертыванию

Начните с создания нового репозитория на GitHub для размещения вашей базы кода.

Инициализируйте репозиторий Git локально в каталоге вашего приложения Rails на корневом уровне:

git init

Создать .gitignore файл в корне каталога вашего приложения и исключите ненужные файлы и каталоги из контроля версий. Образец .gitignore файл для приложения Rails можно найти на официальной странице GitHub.

Чтобы подключить локальный репозиторий к репозиторию, созданному вами на GitHub, добавьте удаленный источник в локальный репозиторий, заменив username и repository со своим:

git remote add origin https://github.com/username/repository.git

Добавьте, зафиксируйте и отправьте свой код в репозиторий Git:

git add .
git commit -m "Initial commit"
git push

Обратите внимание: поскольку мы настроили автоматическое развертывание Kinsta при каждом нажатии на репозиторий, наша первая сборка завершается неудачей. Это происходит потому, что мы еще не подключили базу данных к приложению, что мы и сделаем на следующем шаге.

Шаг 5: Развертывание в Kinsta

  1. Войдите в свою учетную запись MyKinsta.
  2. На панели управления нажмите Добавить услуги и выберите Приложение.
  3. Подключитесь к провайдеру Git.

Добавить Git
Подключите провайдера Git

Настройте детали вашего приложения

  1. Добавьте репозиторий и выберите ветка по умолчанию.
  2. (необязательно) Выберите Автоматическое развертывание при фиксации для этой ветки по умолчанию.
  3. Добавьте имя приложения. Он используется для идентификации приложения на вашей панели управления.
  4. Выберите местоположение дата-центра. Выберите место, ближайшее к вашей аудитории.

Добавить приложение
Добавить приложение

На этом этапе вы можете добавить переменные среды (примеры). Ваше новое созданное приложение Rails поставляется с главным ключом, который расшифровывает и считывает секреты в файле учетных данных в папке конфигурации. Никогда не храните свой главный ключ в системе контроля версий (он находится в папке файл .gitignore уже).

Чтобы разрешить расшифровку, вам необходимо настроить переменные с помощью специального ключа. Расширять Переменная средыs, скопируйте значение в локальный файл главного ключа и вставьте его в Значение 1 вход для RAILS_MASTER_KEY переменная:

Переменные среды
Переменные окружающей среды

Настройте среду сборки

  1. Выберите ресурсы для сборки.
  2. Для приложений Rails выберите Используйте Buildpacks для настройки образа контейнера.
  3. Нажмите Продолжать.

Создайте среду в MyKinsta
Используйте пакеты сборки

Настройте ресурсы вашего приложения

  1. Оставь Команда запуска поле пусто, так как это определено с помощью команды файла, созданного на предыдущих шагах. бин/start.sh.
  2. Нажмите Продолжать.

Настройка процессов
Настройка процессов

Создайте базу данных своих приложений

Нам нужно сделать окончательную настройку подключения к базе данных.

  1. В меню панели управления MyKinsta слева нажмите Базы данных и щелкните имя вновь созданной базы данных.
  2. Под Информация заголовок, вы увидите подзаголовок Внутренние соединения, и нажмите Добавить приложение.
  3. В раскрывающемся меню выберите свое приложение Rails.
  4. Установите флажок Добавьте переменные среды в приложение.
  5. Нажмите Добавить соединение.

Добавить внутреннее соединение
Внутренние соединения

Настройте свою локальную базу данных

Открой конфигурация/database.yml файл и обновите конфигурацию базы данных в соответствии с учетными данными вашей базы данных MyKinsta.

Пример:

production:
  adapter: postgresql  
  encoding: unicode  
  pool: 5
  database: <%= ENV["DB_NAME"] %>
  host: <%= ENV["DB_HOST"] %>
  username: <%= ENV["DB_USER"] %>
  password: <%= ENV["DB_PASSWORD"] %> 

Дополнительную информацию об обработке подключений к базе данных можно найти в документации по настройкам.

Подтвердите свою конфигурацию и введите платежные данные, чтобы завершить настройку приложения, и Kinsta развернет его через несколько минут.

Краткое содержание

Следуя этому руководству, вы успешно настроили и настроили Ruby on Rails версии 7.1 с приложением базы данных PostgreSQL, которое будет развернуто и размещено на Kinsta.

Теперь вы можете сосредоточиться на разработке своего приложения и использовать мощные функции, предоставляемые Kinsta, для беспрепятственного развертывания и хостинга. Не забывайте обращаться к официальной документации или обращаться за дополнительной помощью в службу поддержки Kinsta, когда это необходимо.