svn checkout не работает через phing - PullRequest
1 голос
/ 11 июля 2011

В настоящее время я пытаюсь написать внутреннее приложение, чтобы можно было одним щелчком развернуть наши проекты на приемочных и производственных серверах.Для этого мы используем phing.

В данный момент у меня возникают трудности с проверкой (или выполнением экспорта в SVN) проекта.Я использую следующую команду:

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

в обычной командной строке это работает отлично, однако мне предлагают принять сертификат, потому что хост использует https.Проблема в том, что, похоже, нет параметра для автоматического принятия сертификата.

--trust-server-cert тоже не помогает, поскольку сертификат отклонен из-за несоответствия имени хоста, где параметр только пропускаетошибка "CA is unknown".

Есть идеи, как я могу проверить (или экспортировать, обновить, ...) проект?

Ответы [ 2 ]

1 голос
/ 11 июля 2011

Выполните wget на серверах svn HTTPS, адрес и постоянно принимайте сертификат.

$ 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://...
1 голос
/ 11 июля 2011

Просто выполните одну ручную проверку как пользователь, который будет запускать phing.Вы можете оформить заказ до /dev/null, если хотите.Как только вы приняли сертификат, он останется принятым (если у этого пользователя есть каталог .subversion для его хранения).

Кстати, любая конкретная причина, по которой вы используете интерфейс командной строки svn, заключаетсяи ExecTask вместо простого использования SvnCheckoutTask напрямую?

...