2013-09-27 19 views
6

当我使用在Visual SVN服务器上运行的SVN存储库时,未设置环境变量%SVN_REVISION%和%SVN_URL%。所有其他的SVN交互工作都很好,例如结帐和更改检测。用另一台SVN服务器运行这个工作也可以。EnvVar SVN_REVISION和SVN_URL未设置

自由式作业配置:v1.531:在构建操作设置命令窗口(SVN_REVISION和SVN_URL缺失)

... 
SESSIONNAME=RDP-Tcp#0 
SystemDrive=C: 
SystemRoot=C:\Windows 
... 

系统信息

  • 詹金斯的

    Repository URL:   http://SERVERNAME:81/svn/Projects/ProjectName__5_9_1_3/trunk 
    Local module directory: trunk 
    Repository depth option: infinity 
    

    输出

  • Subversion插件:v1.51
  • Java运行时:v1.6.0_35
  • VisualSVN服务器:V2.7

回答

7

詹金斯错误日志让我在正确的轨道上:

WARNUNG: no revision found corresponding to http://SERVERNAME/svn/Project/trunk; known: [http://servername/svn/Project/trunk] 

看来,詹金斯/颠覆/ SVNKit区分大小写,在我的情况下,我错误地用大写字母写了服务器名称。

+2

作为#jenkins与KostyaSha讨论,https://github.com/jenkinsci/subversion-plugin/blob/5c4c1de863a6c6201c5834f72da016b574682c65/src/main/java/hudson/scm/SubversionSCM.java#L710或许应该修改比较'java.net.URI's而不是'String's。 –

+1

今天得到了这一点,服务器名称必须全部小写svn env vars才能正确设置。 – StormRider01

+2

它也不喜欢Windows用来替换空格字符的%20值。花了我一段时间来追踪它,因为它运行结帐并没有任何问题地构建。 – OttPrime

0

今天发生在我身上的事情是,我有几个SVN路径被检出用于项目,因此它们都有不同的版本号。 Jenkis结束了创建几个变量:SVN_REVSION_1SVN_REVISION_2,等...

您可以在末尾添加一个批处理脚本,并使用SET命令(Windows)中,所以你可以在控制台输出中看到所有的变量可用,它们值。

+0

当你有多个路径被检出时,Jenkins的行为是为每个路径创建'SVN_REVISION_1'等,这样你就可以选择使用这些路径,但是至关重要的是它仍然应该定义'SVN_REVISION'&'SVN_URL'设置为第一个svn工作配置中的路径。 OP的问题与解决方案与多条路径无关。 – Erik

+0

那么它没有为第一个定义SVN_REVISION ...所以我使用它搜索并结束在这里。经过更多的研究,我发现这种行为。这个答案完全符合OP标题。对不起,这个答案对你没有帮助。它确实帮助过别人。 –