Запустите задачу развертывания от имени разных пользователей. - PullRequest
3 голосов
/ 05 июля 2011

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

Безопасность нашей инфраструктуры требует, чтобы я:

  • использовать шлюз
  • развернуть как пользователь, отличный от меня

Итак, Capistrano необходимо:

  1. подключиться через шлюз как authuser
  2. через шлюз подключиться к серверу приложений как authuser
  3. развернуть файлы на сервере приложений как 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, просто когда я делаю нормальное развертывание, все идет не так.

1 Ответ

1 голос
/ 07 июля 2011

К сожалению, мне не удалось решить проблему, однако я смог убедить своего ИТ-специалиста немного изменить настройку, так что это больше не проблема.

Также продолжается разговорпо поводу проблемы тут: http://groups.google.com/group/capistrano/browse_thread/thread/42d0dfe5c0412ae

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