Php svn签出无法通过phing工作
我目前正在尝试编写一个内部应用程序,以便只需单击一下即可将我们的项目部署到验收和生产服务器。 我们正在使用phing来实现这一点 目前,我很难签出(或执行svn导出)该项目。我使用以下命令:Php svn签出无法通过phing工作,php,svn,phing,Php,Svn,Phing,我目前正在尝试编写一个内部应用程序,以便只需单击一下即可将我们的项目部署到验收和生产服务器。 我们正在使用phing来实现这一点 目前,我很难签出(或执行svn导出)该项目。我使用以下命令: <exec command="svn checkout ${svn.host} ${svn.exportdir} --force --username server --password <password>" /> su wwwrun wget https://... su
<exec command="svn checkout ${svn.host} ${svn.exportdir} --force --username server --password <password>" />
su wwwrun wget https://...
su wwwrun svn checkout https://...
在普通的命令行上,这非常有效,但是由于主机使用https,因此会提示我接受证书。问题是似乎并没有参数可以自动接受证书
--trust server cert也没有帮助,因为该证书由于主机名不匹配而被拒绝,其中参数仅绕过“CA未知”错误
关于如何签出(或导出、更新…)项目,有什么想法吗?只需作为运行phing的用户手动签出一次即可。如果愿意,您可以签出到
/dev/null
。一旦您接受了证书,它将保持被接受状态(如果该用户有一个.subversion
目录来存储它)
顺便问一下,您为什么通过和
ExecTask
使用svn
命令行界面而不是直接使用?在svn服务器HTTPS地址上执行wget
并永久接受证书
$ wget https://svn.mydomain.com/repos
然后按p键接受证书
我还添加了一些提示: 就叫
svn checkout https://svn.mydomain.com/repos --force --username server --password iMPs+nana0kIF
并接受证书
当执行Phing命令的用户不是root用户时,可能仍然存在问题,那么您必须以运行Phing命令的用户身份执行此命令:
<exec command="svn checkout ${svn.host} ${svn.exportdir} --force --username server --password <password>" />
su wwwrun wget https://...
su wwwrun svn checkout https://...
确保您还传递了
--非交互式,以停止命令等待用户输入。