Как вы развертываете только один сервер с Capistrano v3?

Как вы развертываете только один сервер с Capistrano v3? Все решения, которые я обнаружил там, развертываются на каждом сервере, поэтому я бы предположил, что они предназначены для v2.

Я не хочу разворачивать сцену, я уже использую многоуровневую обработку, и я хочу развернуть только один сервер на одном из этапов.

Ответ 1

Как указано, в Capistrano 3 способ развертывания определенных частей вашего приложения на одном сервере использует фильтрация HOST. Предположим, что вы развертываете непосредственно в производство, и у вас есть эта конфигурация в config/deploy/production.rb

set :stage, :production


server "webserver1.example.com",         roles: [:web]

server "appserver1.example.com",         roles: [:app]                   
server "appserver2.example.com",         roles: [:app]                   
server "appserver3.example.com",         roles: [:app]                        

server "dbserver1.example.com",          roles: [:db]
server "dbserver2.example.com",          roles: [:db]


Затем, если вы хотите развернуть только на свой веб-сервер 1, вы просто запустите команду:

cap --hosts=webserver1.example.com production deploy

Ответ 2

Вы должны использовать настройки многоступенчатый.

Capistrano 3.x по умолчанию .

На одном из этапов вы определяете только тот сервер, который вы хотите.

set :stage, :staging

server 'staging.zodiacmedia.co.uk', roles: %w{web app db}, port: 22

set :deploy_to, '/var/www/staging.example.com'

Команда запуска:

cd /home/deploy/capistrano/example
cap staging something:to:do

Этот tutorial старый, но может вам помочь.