Проверьте, нет ли изменений в интеграции контента с использованием сервера VisualSVN и Cruisecontrol.net - PullRequest
5 голосов
/ 29 апреля 2010

Я использую CruiseControl.net для непрерывной интеграции. Я создал репозиторий для своего проекта с использованием сервера VisualSvn (использует проверку подлинности Windows). Оба сервера размещены в одной и той же системе (Os-Microsoft Windows Server 2003 sp2).

Когда я принудительно собираю проект с использованием CruiseControl.net, в качестве сообщения отображается « Неудачные задачи: Когда я проверял отчет о сборке, он говорит следующее:

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>

Кто-нибудь может подсказать, как избежать этой ошибки?

Ответы [ 6 ]

5 голосов
/ 29 апреля 2010

Сообщение об ошибке Subversion гласит:

svn: OPTIONS of '<a href="https://sp-ci.sbsnetwork.local:8443/svn/IntranetPortal/Source" rel="noreferrer">https://sp-ci.sbsnetwork.local:8443/svn/IntranetPortal/Source</a>': <strong>Server certificate verification failed: issuer is not trusted</strong> (<a href="https://sp-ci.sbsnetwork.local:8443" rel="noreferrer">https://sp-ci.sbsnetwork.local:8443</a>).

Это говорит о том, что ваш svn не доверяет сертификату https вашего сервера.

Вы можете исправить это, выполнив что-то вроде

svn info https://sp-ci.sbsnetwork.local:8443/svn/IntranetPortal/Source

как пользователь, выполняющий cruisecontrol, а затем принять сертификат.

(Другим вариантом было бы заставить CruiseControl передавать --trust-server-cert в svn, но я не знаю, какой вариант конфигурации вам нужен для этого)

1 голос
/ 07 мая 2010

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

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

Затем войдите на сервер как пользователь и выполните любую команду svn в командной строке;
Берт предлагает:

svn info https://sp-ci.sbsnetwork.local:8443/svn/IntranetPortal/Source

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

Теперь служба должна работать без проблем.

1 голос
/ 29 апреля 2010

Проверка сертификата сервера ошибка: эмитент не является доверенным

Либо подключитесь через HTTP, либо добавьте сертификат CA на компьютер сборки.

0 голосов
/ 12 октября 2012

Я исправил ту же проблему в моем вопросе на Передача аргументов в svn при использовании CruiseControl.net

В основном вам необходимо изменить свой блок sourcecontrol в ccnet.config и использовать пакетный файл, который передает параметр --trust-server-cert в svn

0 голосов
/ 27 мая 2011

Служба CruiseControl по умолчанию запускается под локальной учетной записью службы, поэтому убедитесь, что сертификаты принимаются через локальную учетную запись службы, или измените пользователя службы «Вход в систему» ​​на пользователя, который принял сертификаты.

ссылка

0 голосов
/ 11 мая 2010

Я пытался выполнить непрерывную интеграцию в домене 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.                    
...