Попытка настроить capifony + amazonec2 - PullRequest
1 голос
/ 22 сентября 2011

Я следую инструкциям для настройки capifony.Сейчас я на шаге 4, чтобы настроить производственный сервер.Это мой файл конфигурации:

# deploy.rb

set   :application,   "MyFirm"
set   :deploy_to,     "/var/www/myfirm.com"
set   :domain,        "dev.myfirm.com"

set   :scm,           :gitrepoit
set   :repository,    "ssh://myfirm@94.147.25.115:/home/myfirm/myfirm.git"


set :user, "ec2-user"
set :domain, "ec2-46-137-123-97.eu-west-1.compute.amazonaws.com"
ssh_options[:keys] = [File.join("foo.key")]


role  :web,           domain
role  :app,           domain
role  :db,            domain, :primary => true

set   :use_sudo,      false
set   :keep_releases, 3

Но когда я выполняю cap deploy:setup, хотя я установил открытый ключ в файле конфигурации, он запрашивает у меня пароль ...

  * executing `deploy:setup'
  * executing "mkdir -p /var/www/myfirm.com /var/www/myfirm.com/
releases /var/www/myfirm.com/shared /var/www/myfirm.com/shared/app/
logs /var/www/myfirm.com/shared/web/uploads"
    servers: ["ec2-46-137-123-97.eu-west-1.compute.amazonaws.com"]
Password: 

Есть идеи?

capifony 2.1.1

1 Ответ

6 голосов
/ 23 сентября 2011

Хорошо .. Я думал, что путь в ssh_options[:keys] относительно файла конфигурации (deploy.rb), но на самом деле относительно файла cap (/var/lib/gems/1.8/bin/cap).

Это работает (лучше скопировать foo.key в /var/lib/gems/1.8/bin/):

ssh_options[:keys] = ["foo.pem")]

Конечно работают и абсолютные пути:

ssh_options[:keys] = ["/home/me/foo.pem")]

ssh_options[:keys] = [File.join(ENV["HOME"], "foo.pem")]

Мой последний выпуск:

# deploy.rb

set   :application,   "MyFirm"
set   :deploy_to,     "/var/www/myfirm.com"
set   :domain,        "dev.myfirm.com"

default_run_options[:pty] = true

set   :scm,           :git
set   :repository,    "myfirm@94.141.21.125:/home/myfirm/myfirm.git"

set :ssh_options, {:forward_agent => true}

set :user, "ec2-user"
set :domain, "ec2-41-137-132-97.eu-west-1.compute.amazonaws.com"
ssh_options[:keys] = ["foo.pem"]


role  :web,           domain
role  :app,           domain
role  :db,            domain, :primary => true

set   :use_sudo,      false
set   :keep_releases, 3

set :shared_files,      ["app/config/parameters.ini"]
set :shared_children,   [app_path + "/logs", web_path + "/uploads", "vendor"]
set :update_vendors, true
...