1

我目前正在尝试编写一个内部应用程序,以便能够通过单击将我们的项目部署到验收和生产服务器。我们正在使用 phing 来完成此操作。

目前我很难签出(或进行 svn 导出)该项目。我使用以下命令:

<exec command="svn checkout ${svn.host} ${svn.exportdir} --force --username server --password <password>"  />

在普通命令行上,这可以完美运行,但是由于主机使用 https,我会收到提示接受证书。问题是似乎没有自动接受证书的参数。

--trust-server-cert 也无济于事,因为证书由于主机名不匹配而被拒绝,其中参数仅绕过“CA 未知”错误。

关于如何签出(或导出、更新……)项目的任何想法?

4

2 回答 2

1

只需以运行 phing 的用户身份进行一次手动结帐。/dev/null如果您愿意,您可以结帐。一旦您接受了证书,它将保持被接受(如果该用户有一个.subversion目录来存储它)。

svn顺便说一句,您使用命令行界面而ExecTask不是直接使用命令行界面的任何具体原因是SvnCheckoutTask什么?

于 2011-07-11T13:55:16.233 回答
1

在 svn 服务器上执行wgetHTTPS 地址并永久接受证书。

$ wget https://svn.mydomain.com/repos

然后按p接受证书。


我还在PHP 文档中添加了一些关于证书问题的提示:

只需调用

svn checkout https://svn.mydomain.com/repos --force --username server --password iMPs+nana0kIF

在您的命令行上并接受证书。


当执行 Phing 命令的用户不是 root 时可能仍然存在问题,那么您必须以运行 Phing 命令的用户身份执行此命令:

su wwwrun wget https://... 
su wwwrun svn checkout https://...
于 2011-07-11T13:55:29.697 回答