最近公司搬家,之前用来做一些自动化工作的Jenkins服务器“罢工”了。在最后SVN提交时报了一个之前没有的错误:
svn: E230001: Commit failed (details follow):
svn: E230001: Unable to connect to a repository at URL 'https://192.168.0.99/svn/xxx/dat'
svn: E230001: Server SSL certificate verification failed: certificate issued for a different hostname, issuer is not trusted
一开始以为是Jenkins哪里配置没有改,找了一下也都改了。网上查了一下这个报错,比较多的解决方法是:
cmd打开运行窗口,执行以下命令
svn ls https://xxx
xxx是具体的svn项目地址
最后会显示(R)eject, accept (t)emporarily or accept (p)ermanently?
输入p即可
然后根据提示输入svn账户名UserName和密码Password
但是照做了也没有用,还是报这个错误。最后科学上网找到了这个帖子:
大意就是这是个老问题了,作为Jenkins服务器的Windows Server的Administrator,有些权限也还是拿不到的,必须要以SYSTEM的身份一劳永逸地获得SVN相关的各种权限,才能解决这个证书权限的问题。具体步骤是:
1. 下载一个叫 PSEXEC 的软件并解压到任意目录
2. 以Administrator身份打开一个CMD窗口
3. cd到PSEXEC.exe所在的目录
4. 运行: PSEXEC -i -s -d CMD
5. 这时候会另外打开一个新的CMD窗口
6. 在新的CMD窗口运行: WHOAMI /USER
7.这时候才用到网上比较多的解决方法,运行svn ls https://xxx 输入p
Jenkins重试任务,终于可以了!记录一下这个糟心的报错。