0

我在 Rails 中开始了一个新项目,并设置了一个服务器和 assembla,以便在 Assembla 中保存我的 subversion 文件,并使用 Capistrano 部署到我的服务器。

问题是,当我进行 cap deploy 时,我收到一条错误消息:

  * 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 url 和 id 和密码(我通过在浏览器中检查 url 并输入这些凭据来确保它)

我也按照其他帖子中的建议尝试了 svn cleanup ,但我没有任何运气。

我该如何解决这个问题?提前致谢

4

2 回答 2

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

于 2011-10-29T04:53:03.740 回答
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}': ") }
于 2012-02-21T00:40:26.187 回答