Подтвердить что ты не робот

Агент сборки TeamCity отключается после добавления самоподписанного сертификата https на teamcity

Я добавил самозаверяющий сертификат на свой Teamcity BuildServer, чтобы ввести поддержку https, чтобы теперь можно было получить доступ к

https://ServerUrl:8443

(Подробнее о здесь)

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

4b9b3361

Ответ 1

Агент сборки работает как клиент на сервере сборки и взаимодействует с ним с помощью http/https, и получается, что при добавлении самозаверяющего сертификата агент сборки не принимает его.

Мне нужно

  • Дайте агенту сборки знать новый путь для связи с сервером.
  • Сообщите агенту сборки, что он может доверять самозаверяющему сертификату

Чтобы изменить путь, я сделал следующее (см. этот пост для более подробной информации)

Найдите файл:
$TEAMCITY_HOME/buildAgent/conf/buildAgent.properties

Измените свойство
serverUrl = http: \://localhost \: 8080 к вашему новому URL

Чтобы агент сборки знал, что он может доверять новому сертификату, мне пришлось импортировать его в хранилище ключей агента сборки. Это было сделано с помощью keytool:

keytool -importcert -file <cert file>  
        -keystore <agent installation path>/jre/lib/security/cacerts

(если вы не изменили его, хранилище ключей защищено паролем: changeit)

Команда TeamCity описывает этот процесс чуть подробнее здесь

Примечание
Если вам нужно получить сертификат из хранилища ключей buildserver TeamCity, вы также можете использовать keytool для этого:

keytool -export -alias <alias name>  
        -file <certificate file name> 
        -keystore <Teamcity keystore path>

Ответ 2

Вот ссылка в документацию TeamCity v8 на keytool.

Я делал это в Windows Build Agent и имел собственный сертификат SSL на моем сервере сборки Amazon Linux Build. Вот шаги, которые я предпринял:

  • Пошел, чтобы создать сервер в браузере в агенте Build i.e https://teamcity.example.com
  • Щелкните по ошибке сертификата в URL-адресе и загрузите сертификат на локальный компьютер.
  • Экспортировал сертификат из проводника сертификатов в windows в файл cer.
  • Используется keytool точно так, как указано в документации

    > keytool -importcert -file <cert file where it was exported to> 
      -keystore <path to JRE installation>/lib/security/cacerts
    password: changeit
    
  • Перезапуск агента сборки и альта!