时间:2011-10-28 23:42:15

标签: ruby-on-rails capistrano assembla

我在rails中启动了一个新项目并设置了一个服务器和assembla,以便在Assembla中安装我的subversion文件,并使用Capistrano部署到我的服务器。

问题在于,当我进行封顶部署时,我收到一条错误消息:

  * executing `deploy'
  * executing `deploy:update'
 ** transaction: start
  * executing `deploy:update_code'
    executing locally: "svn info https://subversion.assembla.com/svn/myappname/trunk/  -rHEAD"
    command finished in 4687ms
  * executing "svn export -q  -r4 https://subversion.assembla.com/svn/myappname/trunk/ /home/administrator/myappname/releases/20111028232813 && (echo 4 > /home/administrator/myappname/releases/20111028232813/REVISION)"
    servers: ["my.server.url"]
Password: 
    [my.server.url] executing command
 ** [my.server.url :: out] Authentication realm: <https://subversion.assembla.com:443> Assembla Restricted Area
 ** Password for 'administrator':
 ** [my.server.url :: out]
 ** [my.server.url :: out] Authentication realm: <https://subversion.assembla.com:443> Assembla Restricted Area
 ** Username:

除此之外,我添加了我的Assembla用户名,它只是在那里冻结而没有其他任何事情发生

我的deploy.rb有正确的svn网址和ID和密码(我通过检查浏览器中的网址并输入这些凭据来确定)

我也按照other post的建议尝试了svn清理,但我没有运气。

如何解决此问题?提前致谢

2 个答案:

答案 0 :(得分:1)

在服务器上运行存储库的签出,保存密码,然后设置deploy.rb的svn信息,如下所示:

set :svn_user, Proc.new { Capistrano::CLI.password_prompt("SVN user: ") }
set :svn_password, Proc.new { Capistrano::CLI.password_prompt("SVN password for '#{svn_user}': ") }
set :repository,
Proc.new { "--username #{svn_user} --password #{svn_password} your_svn_url" }

其中your_svn_url设置为http而不是https

答案 1 :(得分:0)

除了@marimaf编写的内容之外,您还可以为svn用户名和密码设置环境变量(如果您愿意,可以识别安全问题)并使这个非常快速的提示。

所以,

$ export SVN_USER=username
$ export SVN_PASSWORD=password

并用

替换上面的集合
set :svn_user, ENV['SVN_USER'] || Proc.new { Capistrano::CLI.password_prompt("SVN user: ") }
set :svn_password, ENV['SVN_PASSWORD'] || Proc.new { Capistrano::CLI.password_prompt("SVN password for '#{svn_user}': ") }