繁体   English   中英

Capistrano通过不同的身份验证方法部署到不同的服务器

[英]Capistrano deploying to different servers with different authentication methods

我需要部署到2台不同的服务器,这2台服务器具有不同的身份验证方法(一个是我大学的服务器,另一个是Amazon Web服务器AWS)

我已经为我所在大学的服务器运行了capistrano,但是我不知道如何将部署添加到AWS,因为为此,我需要添加ssh选项,例如为.pem文件添加用户,如下所示:

ssh_options[:keys] = [File.join(ENV["HOME"], ".ssh", "test.pem")] 
ssh_options[:forward_agent] = true

我浏览过starckoverflow并没有提及后如何处理不同的身份验证方法这个这个

发现有一篇文章讨论了2个不同的键,但是这个是指服务器和git,它们都使用不同的pem文件。 不是这种情况。

我进入了本教程 ,但是找不到我需要的东西。

我不知道这是否与我要的内容有关:我正在使用ruby 1.9.2p290和rails 3.0.10的rails应用程序,并且正在使用svn存储库

请任何帮助或欢迎。 非常感谢

您需要多阶段使用capistrano。 有一个gem可以做到这一点,或者您可以只将环境或舞台文件直接包含到capfile中。

您将无法同时部署到这些环境,但是可以顺序部署。

desc "deploy to dev environment"
 task :dev do
 set :stage_name, "dev"
 set :user, "dev"
 set :deploy_to, "/usr/applications/dev"
 role :app, "10.1.1.1"
end

desc "deploy to aws environment"
 task :aws do
  set :stage_name, "aws"
  set :user, "aws"
  set :deploy_to, "/usr/applications/aws" 
  ssh_options[:keys] = [File.join(ENV["HOME"], ".ssh", "test.pem")] 
  ssh_options[:forward_agent] = true
  role :app, "10.2.2.2"
 end

您将运行:

cap dev deploy; cap aws deploy

您可以扩展此复杂性以打开VPNS,用户,网关等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM