Какие роли я должен включить в production.rb при развертывании приложения Rail API с использованием Capistrano? - PullRequest
0 голосов
/ 06 июля 2019

У меня есть приложение на Rails 5 API, и я хочу развернуть его на удаленном сервере, на котором размещены приложение и база данных (Postgres).

Мне удалось развернуть только после того, как я удалил web и app role

server "myserver", user: "myuser", roles: %w{db} 

Когда я добавляю web или app, Capistrano не удается развернуть.Например, он пытается прекомпилировать ресурсы или пытается найти папку, которая не существует.

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

Как мы точно знаем, какая роль выполняет какую задачу?В частности, какие роли мне нужны для успешного развертывания приложения Rails 5 API?

Я не смог найти никакой информации на домашней странице Capistrano, отвечающей на мой вопрос.

1 Ответ

0 голосов
/ 09 июля 2019

Для развертывания на одном сервере моя конфигурация Capistrano обычно выглядит как

# role-based syntax
role :app, %w{user@myserver}
role :web, %w{user@myserver}
role :db, %w{user@myserver}

Итак, три role оператора для одного и того же сервера.

Полагаю, Capistrano выполняет разные задачи в зависимости от каждой роли, например, миграции выполняются на db, компиляция ресурсов - на web и т. д. Поэтому, если у вас один сервер, он будет выполнять все роли.

Если ваше развертывание работает только для некоторых ролей, это будет показателем того, что процесс развертывания настроен неправильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...