【问题标题】:Hudson svn credentials哈德森 svn 凭据
【发布时间】:2010-12-27 18:57:19
【问题描述】:

如何通过 shell 在 Hudson 中输入颠覆凭证? 我尝试在 HUDSON_HOME 中生成文件 hudson.scm.SubversionSCM.xml 并重新加载配置,但未应用更改。

【问题讨论】:

  • 重启 Hudson。当我冲洗我的 hudson.scm.SubversionSCM.xml 文件时,它对我有用。最安全的方法是阻止哈德森。替换/更改文件并再次启动 Hudson。请记住,密码始终需要加密。如果您只想远程更改它,请使用 URL 添加凭据 Server:Port/scm/SubversionSCM/enterCredential 您还应该能够将包含所需凭据的发布请求发送回 Hudson。 Hudson 将负责其余的工作。

标签: hudson


【解决方案1】:

从 shell 输入凭据的最简单方法是使用“svn”可执行文件。 Hudson 识别出它创建的 ~/.subversion/auth 目录。

【讨论】:

  • 但是,您需要为作业将在其上运行的每个节点(从属节点)执行此操作。
  • 对。从 Jenkins UI 使用它可以避免这种需要,但问题是如何从 shell 输入凭据。嗯,也许这可能是一个新的 Jenkins CLI 命令?
【解决方案2】:

在 Windows 下,全局凭据存储在 %APPDATA%\Subversion\auth 下。以下 Groovy 代码有助于生成这些凭据:

SVNRepository repository = SVNRepositoryFactory.create(SVNURL.parseURIEncoded(url))
ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager(SVNWCUtil.defaultConfigurationDirectory,"AD\user","password",true)
repository.setAuthenticationManager(authManager)
repository.getDir("", -1, null ,(Collection)null) // or some random SVN operation

上述代码中使用的库(Gradle 中的示例):

compile 'org.tmatesoft.svnkit:org.tmatesoft.svnkit:1.7.8'
compile 'net.java.dev.jna:jna:3.4.0' // so wincrypt is available

确保您使用 Hudson 在 Windows 机器上运行的同一用户运行代码。

【讨论】:

    【解决方案3】:

    从哈德逊河开始。 安装所有必需的插件。 点击链接,EX:-localhost:8080/hudson 单击添加作业/创建作业。 在选择选项 SVN 将出现在那里时,请提供 SVN 位置。 凭据链接在那里。单击该链接。 将打开一个表单,提供该 SVN 位置的有效凭据。 观察屏幕上的 Success 消息,然后返回 Create job,完成 Job 创建并构建任务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-12
      • 2011-04-18
      • 1970-01-01
      相关资源
      最近更新 更多