Jenkins存储SVN凭据的地方

时间:2012-02-02 10:24:21

标签: svn tortoisesvn jenkins

开始和Jenkins一起玩。创建了新工作并输入了SVN存储库URL。压制的构建和jenkins成功检出了我的存储库。我的存储库没有匿名访问权限。毫无头绪,Jenkins如何设法检出存储库。

在Windows XP + Tomcat6 + Jenkins war文件上运行。

Jenkins可能设法从系统属性中读取密码?现在正试图找到这个配置文件,它存储密码-s或设置

更新

不确定,但看起来,Jenkins从togoise svn cache读取SVN凭据。当我清理缓存时,无法再从Jenkins访问存储库

5 个答案:

答案 0 :(得分:11)

  

确实,它从Subversion缓存中获取。至少,现在我知道,保存密码并不是一个好主意

Subversion将在$HOME/.subversion文件中查找凭据,但它也会将每个作业下的密码存储在名为subversion.credentials的文件中。

通常,您的Jenkins机器无法访问凡人,您可以将Jenkins $HOME目录设为其他用户所有。这样,您就可以使用操作系统的安全功能来防止人们偷看您的Jenkins凭据。

另一种可能性是让Jenkins的Subversion结帐用户成为只读用户。这将允许Jenkins签出代码,但如果有人抓住Jenkins Subversion帐户,他们将无法进行更改。

如果您还使用Jenkins标记Subversion版本,则可以使用pre-commit hook来允许Jenkins创建标记,但不能执行任何其他操作。

这应该可以减轻您的安全问题。如果您考虑一下,Jenkins必须能够存储其subversion帐户和密码,否则它将无法自动检出构建代码。

答案 1 :(得分:4)

credentials.xml,默认情况下,它位于〜/ .jenkins /

答案 2 :(得分:1)

确实,它从Subversion缓存中获取。至少,现在我知道,保存密码并不是一个好主意

答案 3 :(得分:0)

我找到了更新密码的最简单方法。

一般来说,它是一个安全的http连接,我的意思是https。只需将其更改为http然后立即Jenkins将提示您更新svn详细信息,您可以在其中更新凭据和网址。enter image description here

答案 4 :(得分:0)

Jenkins将svn凭证存储在.jenkins / hudson.scm.SubversionSCM.xml中,删除旧的userName和密码条目,并将条目保留为空并保存文件。 稍后重启jenkins并进入作业配置和Repository URL,Jenkins将提示输入新的svn凭据。 -Praveen