当前位置: 首页 > 面试题库 >

jenkins中的SVN命令行由于服务器证书不匹配而失败

刘俊语
2023-03-14
问题内容

当我从Jenkins shell运行svn命令行时,出现此错误:

 D:\Jenkins\jobs\Merge Trunk to Stable\workspace\stable>svn up --trust-server-cert --non-interactive 
 Updating '.':
 svn: E175002: Unable to connect to a repository at URL 'https://xxx/stable'
 svn: E175002: OPTIONS of 'https://xxx/stable': Server certificate verification failed: certificate issued for a different hostname,  issuer is not trusted (https://xxx)

但是,当我从命令行CMD窗口运行相同命令时,就可以了:

 D:\Jenkins\jobs\Merge Trunk to Stable\workspace\stable>svn up
 Updating '.':
 At revision 1797.

要么

 D:\Jenkins\jobs\Merge Trunk to Stable\workspace\stable>svn up --trust-server-cert --non-interactive
 Updating '.':
 At revision 1797.

知道如何解决这个问题吗?


问题答案:

相当老的问题,但仍然很生动。

如您所知,问题在于接受的证书缓存(以及用户名/密码缓存)是按用户使用的,并且由于Jenkins以不同的用户身份运行(很可能是SYSTEM),因此它不了解您的常规用户缓存。

并非所有SVN客户端都允许您在此执行“ echo p”操作(这对我不起作用),并且--trust-server-cert显然在这种情况下也不起作用。

对我有用的是打开一个名为SYSTEM的html" target="_blank">控制台窗口,并在其中进行交互式acceptcertificate-login-password跳舞。

由于所有这些都已缓存,因此您只需执行一次,然后,所有svn up和类似的请求都将起作用。



 类似资料:
  • 问题内容: 我一直在Google上寻找很多有关如何在命令行中安装该服务的信息(因此无需手动交互),但我仍然对如何获取jenkins-slave.exe感到困惑。 我找到了那些指令 https://wiki.jenkins.io/display/JENKINS/Installing+Jenkins+as+a+Windows+service, 但是我不知道如何获得可执行文件。我已经下载并使用正确的键运

  • 问题内容: 我尝试使用自签名证书连接到服务器。我使用此代码接受所有证书。 但是尽管如此,我收到以下错误: 我确定我的证书代码已执行,那么可能是什么问题? 问题答案: 您可以使用

  • 我正在使用ssl连接从flask应用程序连接到远程mysql数据库(在我的本地网络上)。 任何对数据库的调用都会抛出这个神秘的错误。 我可以从终端登录mysql监视器。 我使用的是macos 11.0。1和python 3.9。0.我已尝试按此处所述安装和链接。没有ssl,一切正常。请帮忙。 编辑:这个问题不是macos特有的,我试着从ubuntu连接,结果也是一样的。

  • 很抱歉另一个pip问题,但我已经尝试了几乎所有其他线程,到目前为止没有任何工作。所以我有问题,pip不安装任何包,由于使用TLSv1.0 我已经完成了curl以下载get_pip。py脚本然后用sudopython执行它。 我尝试过手动下载pip.tar.gz,提取它并通过pip安装安装。/pip.10.0.3 安装后,我完成了 我已经通过自制安装了python。 但是每次我仍然得到这个TLSv1

  • 我对詹金斯和一个詹金斯奴隶有一个奇怪的问题。我的构建使用Maven发布插件。项目从Subversion存储库中签出。稍后在构建过程中,Maven发布插件尝试向我的项目pom.xml提交一些更改。正是在这里,这个过程有时会在詹金斯奴隶身上失败。每当它失败时,我需要在主服务器上再次运行构建,然后再在Jenkins从服务器上运行。 null

  • 但我的命令出错了。 编辑: 我刚刚发现,如果你把类保留在同一个项目中,这是可以的。 我的项目依赖于另一个叫做API的项目。 如果在api项目中声明类,axon服务器库将抛出找不到路由密钥的错误。但是如果类是在主项目中声明的,它就会按照预期工作。我想我应该把这个问题提交到GitHub上。