TeamCity生成代理在向TeamCity添加自签名https证书后断开连接



我在Teamcity BuildServer中添加了一个自签名证书,以引入https支持,因此现在可以在上访问它

https://ServerUrl:8443

(点击此处了解更多详情)

结果是,我可以通过https访问服务器,但我的构建代理现在已断开连接。如何解决此问题?

构建代理充当构建服务器的客户端,并使用http/https与之通信,结果发现,当您添加自签名证书时,构建代理不接受它。

我需要

  1. 让生成代理知道与服务器通信的新路径
  2. 让生成代理知道它可以信任自签名证书

为了改变路径,我做了以下操作(请参阅本文了解更多详细信息)

查找文件:
$TEAMCITY_HOME/buildAgent/conf/buildAgent.properties

更改属性
serverUrl=http:\://localhost\:8080到您的新url

为了让生成代理知道它可以信任新证书,我必须将其导入到生成代理的密钥存储中。这是使用关键工具完成的:

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

除非您更改了密钥库,否则密钥库受密码保护:changeit

TeamCity团队在这里稍微详细地描述了这个过程

注意
如果您需要从TeamCity构建服务器密钥库中检索证书,您也可以使用keytool来执行此操作:

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

这是keytool上TeamCity v8文档的链接。

我在Windows Build Agent上做这件事,在我的Amazon Linux Build Server上有一个自签名SSL证书。以下是我采取的步骤:

  1. 在build Agent上的浏览器中构建服务器,即。https://teamcity.example.com
  2. 单击URL中的证书错误并将证书下载到本地计算机
  3. 已将证书从windows中的证书资源管理器导出到cer文件中
  4. 完全按照文件中的规定使用密钥工具

    > keytool -importcert -file <cert file where it was exported to> 
      -keystore <path to JRE installation>/lib/security/cacerts
    password: changeit
    
  5. 重新启动了构建代理和viola!

相关内容

  • 没有找到相关文章

最新更新