У меня есть очень простой рецепт Capistrano, который необходимо развернуть в очень сложном аппаратном стеке, и я надеялся, что кто-то может указать, где я ошибаюсь.
Безопасность нашей инфраструктуры требует, чтобы я:
- использовать шлюз
- развернуть как пользователь, отличный от меня
Итак, Capistrano необходимо:
- подключиться через шлюз как
authuser
- через шлюз подключиться к серверу приложений как
authuser
- развернуть файлы на сервере приложений как
deployuser
Я выполнил шаг 1 и 2 без проблем, но повторно: шаг 3, он запускает развертывание как authuser
вместо deployuser
, хотя я установил бегунка как deployuser
.
Вот часть конфигурации файла deploy.rb:
app = "new-app"
auth_user = "authuser"
deploy_user = "deployuser"
set :user, "#{lexer_user}"
set :gateway, "#{auth_user}@<gateway ip address>"
ssh_options[:forward_agent] = true
default_run_options[:pty] = true
# Repository setup
set :application, "#{app}"
set :repository, "git@github.com:#{auth_user}/#{app}.git"
set :scm, :git
set :branch, "master"
set :deploy_via, :remote_cache
set :git_enable_submodules, 1
# Roles
set :admin_runner, "#{deploy_user}"
set :runner, "#{deploy_user}"
role :web, "#{auth_user}@<gateway ip address>"
role :app, "#{auth_user}@<gateway ip address>"
role :db, "#{auth_user}@<gateway ip address>"
# Location
set :deploy_to, "/var/apps/#{app}"
# TASKS -------------------------------------------------
...
Есть идеи, что может пойти не так?
Примечания: когда я запускаю deploy: setup, команды запускаются какauthuser
, просто когда я делаю нормальное развертывание, все идет не так.