通过Jenkins使用SVN命令行工具

通过Jenkins使用SVN命令行工具,svn,jenkins,Svn,Jenkins,我正在使用Jenkins的Subversion插件,我从它的描述中了解到它“将Subversion支持(通过SVNKit)添加到Jenkins”。到目前为止,我的Jenkins项目可以成功地签出和更新工作区,而不会出现问题。然而,在我们的一些vcxproj文件中,有一些预构建步骤通过命令行查询svn info,以获得要插入到一些代码生成的头文件中的修订号,这些头文件最终会被资源文件消耗,从而生成DLL和EXE的文件版本。My Jenkin的奴隶没有安装SVN来运行本机命令行应用程序。是否有一种方

我正在使用Jenkins的Subversion插件,我从它的描述中了解到它“
将Subversion支持(通过SVNKit)添加到Jenkins
”。到目前为止,我的Jenkins项目可以成功地签出和更新工作区,而不会出现问题。然而,在我们的一些vcxproj文件中,有一些预构建步骤通过命令行查询
svn info
,以获得要插入到一些代码生成的头文件中的修订号,这些头文件最终会被资源文件消耗,从而生成DLL和EXE的文件版本。My Jenkin的奴隶没有安装SVN来运行本机命令行应用程序。是否有一种方法可以将Jenkins使用的SVN工具(即SVNKit)公开给命令shell。我的生成配置为执行Windows批处理命令

我想知道是否有办法将SVNKit中的svn命令放在Jenkins调用的shell命令的路径上。具体来说,在下面的屏幕截图中,如果不在从机上安装svn,需要完成以下命令


我认为你用这种方法运气不好。我不确定有没有办法访问Jenkins在slave上使用的SVNKit罐子。Jenkins确实使用修订版和URL为构建步骤提供了环境变量(毫不奇怪地命名为
SVN_revision
SVN_URL
)。也许您可以修改预构建步骤以使用环境变量,而不是运行
svn info
。我之前做了一些测试,以查看批处理命令实际使用了什么环境,看起来是从机的环境。将命令
ECHO%COMPUTERNAME%
非常清楚地演示了这一点。我目前正在设置所有从机的环境,以使SVN命令行客户端位于路径上,但希望SVNKit/Jenkins以某种方式代表我这样做。在%JENKINSHOME%的
plugins\subversion\WEB-INF\lib\SVNKit-1.8.11.jar下有一个SVNKit jar文件
,但是如何打开它,请使用Jenkins使用的凭据,这很棘手