通过SSL使用我自己的GIT服务器设置TeamCity



我有自己的GIT服务器存储库,可以通过HTTPS协议连接。

我正在尝试设置 TeamCity 以连接到我的 GIT 存储库,但由于 HTTPS 协议,我无法这样做。

在 Eclipse 中,我有一个设置 sslVerify=false 的设置,我可以连接到我的 GIT 存储库并执行我的任务。

我怎样才能为 TeamCity 实现相同的目标?

如问题TW-30210所示,这可能取决于您使用的TeamCity和Java版本。

这也取决于您的证书是否为自签名证书。
如果 是签名的(并由实际的 CA - 证书颁发机构验证),则需要将其添加到 Java 密钥库(由 TeamCity 使用):请参阅"使用 HTTPS 访问 TeamCity 服务器"。

如果您只想禁用 SSL 验证,则可以在 TeamCity 服务器上执行以下操作:

  • 对于 git 命令,以及
  • 用于运行 TeamCity 服务器的 Java。

    -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 存储库的主机的域名

我们在 teamcity 服务器(64 位)上使用 32 位版本的 git。因此,删除 32 位并安装 64 位 git bash 和 git cmd 有助于我们解决 GIT 和 Teamcity 连接问题。我希望这对一些用户有所帮助。

最新更新