Ответ 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>