我有自己的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 连接问题。我希望这对一些用户有所帮助。