【发布时间】:2017-11-15 13:01:55
【问题描述】:
我有自己的 GIT 服务器存储库,可以通过 HTTPS 协议连接。
我正在尝试设置 TeamCity 以连接到我的 GIT 存储库,但由于 HTTPS 协议,我无法连接。
在 Eclipse 中,我有一个设置为 sslVerify=false,我可以连接到我的 GIT 存储库并执行我的任务。
我怎样才能为 TeamCity 实现同样的目标?
【问题讨论】:
我有自己的 GIT 服务器存储库,可以通过 HTTPS 协议连接。
我正在尝试设置 TeamCity 以连接到我的 GIT 存储库,但由于 HTTPS 协议,我无法连接。
在 Eclipse 中,我有一个设置为 sslVerify=false,我可以连接到我的 GIT 存储库并执行我的任务。
我怎样才能为 TeamCity 实现同样的目标?
【问题讨论】:
正如issue TW-30210 所示,它可能取决于您使用的 TeamCity 和 Java 版本。
这还取决于您的证书是否是自签名的。
如果已签名(并由实际的 CA - 证书颁发机构验证),那么您需要将其添加到您的 java 密钥库(由 TeamCity 使用):请参阅“Using HTTPS to access TeamCity server”。
如果你只是想禁用 ssl 验证,你可以在 TeamCity 服务器上做:
for the java 用于运行 TeamCity 服务器。
-Dcom.sun.net.ssl.checkRevocation=false
但这被认为是一种不好的做法。
【讨论】:
上面的答案添加了默认设置的示例:
openssl s_client -connect <githost>:443 </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /opt/exported.cert
keytool -import -noprompt -trustcacerts -alias <githost> -file /opt/exported.cert -keystore ${JAVA_HOME}/jre/lib/security/cacerts -storepass changeit
在哪里,
githost - 带有 git repo 的主机域名
【讨论】:
我们在 teamcity 服务器(64 位)上使用 32 位版本的 git。因此移除 32 位并安装 64 位 git bash 和 git cmd 帮助我们解决了 GIT 和 Teamcity 连接问题。 我希望这对一些用户有所帮助。
【讨论】: