svn结账不通过phing工作

时间:2011-07-11 13:49:28

标签: php svn phing

我目前正在尝试编写一个内部应用程序,只需单击一下即可将我们的项目部署到验收和生产服务器。 我们正在使用phing来实现这一目标。

目前我在查看(或进行svn导出)项目时遇到了困难。我使用以下命令:

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

在正常的命令行上这很好用,但是我被提示接受证书,因为主机使用https。问题是似乎没有自动接受证书的参数。

--trust-server-cert也没有帮助,因为证书因主机名不匹配而被拒绝,其中参数只绕过“CA未知” - 错误。

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

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

然后按 p 接受证书。


我还在PHP documentation about the problems with certificates添加了一些提示:

只需致电

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://...