【问题标题】:SVN SSL Certificate Untrusted via Python Script通过 Python 脚本不受信任的 SVN SSL 证书
【发布时间】:2018-04-03 20:36:27
【问题描述】:

我现在有一个奇怪的场景。当我在我们的构建服务器(独立于 SVN 服务器)上发出svn info TXN REPO 命令时,它会按预期工作并将相关信息显示到控制台。

但是,当我使用 Python 编写脚本时,特别是从子进程模块 Popen 时,它会向标准错误(控制台)打印一条消息 svn: E230001: Server SSL certificate untrusted。

我尝试过的:

在脚本调用中使用--non-interactive 和--trust-server-cert 标志。

通过脚本在svn info 调用中传递用户名/密码。

上面两个好像没有生效,吐出和上面一样的错误。但是,从命令提示符手动运行相同的命令会成功,没有问题。我认为这可能与 python 打开到 SVN 服务器的新会话有关,并且该会话不是“受信任的”连接?但我不能确定。

我们的 SVN 服务器在 windows 机器上,版本为 1.8.0

我们的构建服务器是一台运行 Jenkins 2.84 版的 Windows 机器。 Jenkins 执行一个启动 Python 脚本的批处理脚本,执行上述任务。

命令:svn_session = Popen("svn info --non-interactive --trust-server-cert --no-auth-cache -r %s %s" % (TXN, REPOS), stdout=PIPE, stderr=PIPE, shell=True)

** 编辑 **

当我将脚本中的 python 行复制并粘贴到同一服务器上的交互式 python shell 中时,该命令也按预期工作。所以问题在于脚本如何执行命令,而不是命令本身或 Python 如何运行该命令。 **

以前有人遇到过这种情况吗?

【问题讨论】:

    标签: python python-2.7 ssl svn


    【解决方案1】:

    以防万一有人在未来看到这个。熊猫睡衣对此给出了详细的解答..

    SVN command line in jenkins fails due to server certificate mismatch

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-26
      • 2016-01-15
      • 1970-01-01
      • 2015-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-14
      相关资源
      最近更新 更多