【问题标题】:ant & cvs prompting password although password should come from PageAntant & cvs 提示密码,虽然密码应该来自 PageAnt
【发布时间】:2013-07-15 06:51:01
【问题描述】:

我有 ant 构建文件,调用时应该进行 cvs 签出。我可以称之为ok,但是当ant使用cvs连接cvs repo时,repo提示输入密码,显然ant命令失败。

我有 CVSROOT 环境变量指向我使用 TortoiseCVS 对项目进行初始结帐的相同位置,使用 ssh 作为协议。

我还运行了 putty 的选美和环境变量 CVS_RSH 指向 putty 的 plink.exe。这种组合应该通过 putty 建立连接,因为从 pageAnt 菜单打开连接时没有提示。

我的操作系统是 Windows 8。

问题是,为什么ant build在 cvs服务器密码提示上失败,虽然PageAnt否则是否通过 ssh+cvs 启用即时访问?

【问题讨论】:

  • ANT 没有与 pageant 集成...不确定如何使用 CVS 任务进行这项工作。jsch 项目似乎最近增加了对 putty 的支持,但这可能只会有帮助与 scpsshexec ANT 任务....我想知道是否有人有更好的主意?

标签: ant cvs pageant


【解决方案1】:

Ant cvs 任务从 PATH 调用 cvs.exe 命令行,因此如果从命令行一切正常,则(几乎)没有理由从 Ant 中失败。

这是一个清单,其中包含要验证的要点:

  • CVSROOT 必须包含用户名并指定ext 协议,:ext:username@cvserver.domain.ldt:/path/to/repository
  • CVS_RSH 必须指向具有绝对文件路径的 plink.exe,并且您必须指向 ensure it will use SSH protocol
  • 您的 SSH 私钥必须已加载到 Pageant 中,用于与运行 Ant 脚本的用户相同的用户会话

如果没有帮助,请提供有关您的 cvs 任务选项和工作站设置的更多详细信息。

当在没有打开任何用户会话的情况下运行并且 Pageant 无法提供帮助时,通常对于持续集成工具,更好的选择是将所有参数(如用户名和私钥文件)直接传递到 CVS_RSH 变量中的 plink

CVS_RSH="C:\path\to\plink.exe -batch -ssh -l username -i C:\path\user\ssh-privatekey.ppk"

当然,在这种情况下,您的私钥文件不能使用密码保护。

【讨论】:

  • 最后我在新项目中再次回到这个问题,我能够验证这个解决方案是如何工作的。我使用了与您类似的 CVS_RSH="C:\path\to\TortoisePlink.exe" 和 CVSROOT,然后 pageAnt 帮助我通过了。第一个 ant 任务运行成功。谢谢!
  • 我在较长版本的 CVS_RSH 上投入了很多精力,但从未让它发挥作用。然后我意识到我只能离开路径,然后 pageAnt 成功了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-10
  • 2017-11-13
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多