- 升级了 Jenkins。
- 创建了一个奴隶。
- 在从机上安装最新的 JDK 并启动从机。
- 当用 slave 标记一个作业并运行它时,出现上述错误..
- 在 google 上进行了搜索,并根据搜索将我的目标 TFS 的公共(public)证书添加到 C:\Program Files (x86)\Java\jre1.8.0_131\lib\security\cacerts 中的 java keystore 。
- 它适用于 2 个作业,出于某种目的,我取消标记该作业并在 master 上运行,我再次将其标记回 slave 并运行它.. 问题又回来了。
- 尝试再次添加证书,但其提示的证书已经在 keystore 中.. 7 确实卸载并重新安装了 slave 并更改了 JAVA 版本.. 运气不好.. 以下日志的其余部分 5)
Building remotely on
node1
in workspace C:\Builds\Jenkins\workspace\Foot_Driver Querying for remote changeset at '$/AEXX/' as of 'D2017-06-23T15:26:13Z'... FATAL: com.microsoft.tfs.core.exceptions.TECoreException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targe
最佳答案
通过将链中的所有证书添加到 cacerts,问题得到解决。
- 使用(将您的域替换为 google.com)获取链中的所有证书列表
openssl s_client -host google.com -port 443 -prexit -showcerts - 将每个证书复制到一个单独的 .pem 文件中,例如 - VS_cert1.pem、VS_cert2.pem
- 将所有证书导入java cacerts
keytool -import -alias VS1 -file "C:\Users\xxxx\Desktop\Temp\VS_cert1.pem"-keystore "C:\Program Files (x86)\Java\jre1.8.0_131\lib\security\cacerts"< br/> keytool -import -alias VS2 -file "C:\Users\xxxx\Desktop\Temp\VS_cert2.pem"-keystore "C:\Program Files (x86)\Java\jre1.8.0_131\lib\security\cacerts" - 退回服务。
关于java - SSL 问题 - TFS 的 Jenkins 从站连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44728080/