2

我在我的项目中添加了一个 svn:externals,它通过 TortoiseSVN 在本地运行良好。当我使用 Jenkins 从同一个存储库中提取时,它没有在控制台输出中显示任何关于外部的信息。

我在这里阅读了一些其他问题,并确保我在 Jenkins 中的 SVN 版本号设置为(1.6 externals to file)并重新启动了 Jenkins。问题仍在发生。关于我可以设置的其他东西的任何想法,或者我可以用来进行故障排除的东西?谢谢。

哦,外部目录在同一个存储库中,所以我不认为这是一个身份验证问题,因为它在没有引用外部文件的情况下构建得很好。

4

2 回答 2

1

我通过在 Jenkins 2.222.1 上选择更高的 SVN 版本号解决了这个问题。这是程序:

  • 管理 Jenkins -> 配置系统 -> Subversion 工作区版本
  • 至少选择 v1.6。(我的默认值是 1.4)
于 2020-04-10T09:20:34.740 回答
0

我可能有一个非常不寻常的结构,但这对我有用......

首先,目录结构如下:

--Parent
----folder1
------subfolder1
------svnexternalfolder
----svnexternalfolder

如您所见,我的 svn 外部文件夹位于项目结构的两个不同级别,但 Jenkins 项目直接指向“文件夹 1”。

首次配置时,它永远不会为我的 svn 外部文件夹提取文件(无论是完整签出还是 svn 更新)。这是在父级使用 svnexternals 配置的。

我的下一个尝试是删除父级的 svn 外部,然后仅指定父级上的较高位置,然后是文件夹 1 上的较低位置。这给出了一个错误,因为子 svn 目录与另一个目录具有相同的名称。

所以我改变了创建 svn 外部位置的顺序,先做孩子(在“folder1”上),然后在父母身上做更高的。一旦我这样做了,一切都开始工作了。

希望这对其他人有帮助。

如果你好奇我为什么以这种方式配置目录结构,这是一个 PhoneGap 项目。显然,cordova/phonegap 项目像这样创建它们的目录结构,父级下方的公共文件夹是“www”,其中包含所有 html、javascript 等文件,然后这些也用于平台/ios 或平台/android 文件夹下(在我的示例中,我只是将其命名为 folder1)。

于 2014-02-20T15:42:50.333 回答