Я использую CruiseControl.net для непрерывной интеграции. Я создал репозиторий для своего использования проекта сервер VisualSvn (использует аутентификацию Windows). Оба серверы размещаются в той же системе (OS-Microsoft-Windows-Server 2 003 sp2).
То, когда я вызываю, разрабатывают проект с помощью CruiseControl.net, "Привело задачу (задачи) к сбою: Svn: CheckForModifications" показывается сообщением. Когда я проверил отчет о сборке, он говорит следующим образом:
BUILD EXCEPTION
Error Message: ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed: svn: OPTIONS of 'https://system:8443/svn/folder/Source': **Server certificate verification failed: issuer is not trusted** (https://system:8443). Process command: C:\Program Files\VisualSVN Server\bin\svn.exe log **sameUrlAbove** -r "{2010-04-29T08:35:26Z}:{2010-04-29T09:04:02Z}" --verbose --xml --username ccnetadmin --password cruise --non-interactive --no-auth-cache
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.Execute(ProcessInfo processInfo)
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.Svn.GetModifications (IIntegrationResult from, IIntegrationResult to)
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.QuietPeriod.GetModifications(ISourceControl sourceControl, IIntegrationResult lastBuild, IIntegrationResult thisBuild)
at ThoughtWorks.CruiseControl.Core.IntegrationRunner.GetModifications(IIntegrationResult from, IIntegrationResult to)
at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Integrate(IntegrationRequest request)
Мой узел SourceControl в ccnet.config как показано ниже:
<sourcecontrol type="svn">
<executable>C:\Program Files\VisualSVN Server\bin\svn.exe</executable>
<trunkUrl>
check out url
</trunkUrl>
<workingDirectory>
C:\ProjectWorkingDirectories\folder\Source
</workingDirectory>
<username>
ccnetadmin
</username>
<password>
cruise
</password>
</sourcecontrol>
Кто-либо может предложить, как избежать этой ошибки?
В сообщении об ошибке Subversion указано
svn: OPTIONS of ' https: //sp-ci.sbsnetwork.local: 8443 / svn / IntranetPortal / Source ': Ошибка проверки сертификата сервера: издатель не является доверенным ( https: //sp-ci.sbsnetwork.local: 8443 ).
Это говорит мне, что ваш svn не доверяет https-сертификату вашего сервера.
Вы можете исправить это, выполнив что-то вроде
svn info https://sp-ci.sbsnetwork.local:8443/svn/IntranetPortal/Source
от имени пользователя, выполняющего круиз-контроль, а затем приняв сертификат.
(Другой вариант - передать CruiseControl --trust-server-cert в svn, но я не знаю, какой вариант конфигурации вам нужен для этого)
Проверка сертификата сервера не удалась: издатель не является доверенным.
Подключитесь через HTTP или добавьте сертификат CA на машину сборки.
Я пытался сделать непрерывную интеграцию в домене windows server. Сервер контроллер домена должен выпустить сертификат для сервера svn (установленного в одном из доменов). Затем импортируйте выданный сертификат на svn-сервер.
Процесс включает два шага:
1) создание запроса на выдачу сертификата от контроллера домена.
For that follow the steps:
i) open visual svn server
ii) "right click" **visualSVN Server(Local)** and "select"
**properties**
iii) "select" **change certificate** in **cetificates**
iv) "check" the **prepare certificate request** and "provide" the
domain controller as server and do as asked.
v) "save" the request as **.req extension** and **finish** the
process
2) отправка файла .req контроллеру домена для получения сертификата
For that follow the steps:
i) run **cmd**
ii) run **certreq -submit -attrib "CertificateTemplate: WebServer"
.req file with its path**
iii) save the certificate with **.cer** extension.
iv) do **i,ii,iii** of the **step 1**
v) "check" the **Import Signed Certificate** and "browse" the
**.cer file** and install it.
Посмотрите здесь на похожую (но немного отличающуюся) проблему, которая возникла у меня недавно.
По сути, вы не можете запустить службу как обычную учетную запись «SYSTEM», вам необходимо указать и настроить локального пользователя с соответствующими разрешениями и настроить службу для запуска от имени этого пользователя.
Затем войдите на сервер как пользователь и запустите любую команду svn в командной строке;
Берт предлагает:
svn info https://sp-ci.sbsnetwork.local:8443/svn/IntranetPortal/Source
вам будет предложено ввести имя пользователя и пароль SVN, которые затем сохраняются в кэше. подходящее место. Вам также будет предложено принять сертификат - что вам и нужно сделать.
Теперь служба должна работать без проблем.