Hudson / Jenkins从CVS回购中解决问题

时间:2011-03-03 16:06:31

标签: hudson cvs jenkins cvsnt

我正在尝试使用Hudson在CVS存储库上执行CI,但是当我尝试运行构建时收到以下错误:

  

由用户admin启动   [Pilot1] $“C:\ Program Files(x86)\ CVS Suite \ CVSNT \ cvs.exe”-Q -z3 -d:sserver: login :_ server :/ CVSRepo co -P -d 工作区 -D“2011年3月3日星期四下午2:20:08 UTC” ITitC /

     

cvs checkout:在目录中。:

     

cvs checkout:无法打开CVS /条目进行阅读:没有这样的文件或目录   java.io.IOException:不存在此类目录。你指定了正确的分支吗?也许你指定了一个标签:c:\ path \ workspace

     

at hudson.scm.CVSSCM.archive(CVSSCM.java:474)       在hudson.scm.CVSSCM.access $ 100(CVSSCM.java:123)       在hudson.scm.CVSSCM $ 1.invoke(CVSSCM.java:381)       在hudson.scm.CVSSCM $ 1.invoke(CVSSCM.java:374)       在hudson.FilePath.act(FilePath.java:753)

如果我在命令末尾删除“ITitC”(模块)并直接通过cmd提示运行它,我就能成功进行更新。我还能够在Hudson构建开始时在“workspace”目录中快速创建一个具有该名称的文件夹,但是每次新构建都会删除它。

有没有办法可以强制Hudson或CVSNT在每次构建之前或默认情况下根据需要创建文件夹?这是CVSNT的问题吗?我对CVSNT并不太感兴趣,我愿意用更好的选择来替换它。

2 个答案:

答案 0 :(得分:1)

我们遇到了与CVS 1.11.xx相同的问题并且无法解决它。结果我们转移到CVS 1.12.xx并且Hudson正常工作。似乎这个问题特定于某些CVS服务器构建,并且与CVS客户端无关。

答案 1 :(得分:0)

我遇到了类似的问题

[workspace] $ cvs.exe -Q -z3 -d :pserver:user@server01:/cvsrepo/projectrepo co -P -N -d . -D "Thursday, June 13, 2013 9:24:00 PM UTC" Module1 Module2
cvs.exe checkout: cannot open CVS/Entries for reading: No such file or directory

只指定了一个模块,结帐工作正常,模块的内容直接位于Hudson创建的工作区文件夹下。 (没有创建Module1文件夹)

对于多个模块,只有在-d中指定了目录名时,才能使用checkout。使用指定的默认Hudson。是错误发生的时候。

[workspace] $ cvs.exe -Q -z3 -d :pserver:user@server01:/cvsrepo/projectrepo co -P -N -d customDir -D "Thursday, June 13, 2013 9:53:46 PM UTC" Module1 Module2
$ computing changelog
Finished: SUCCESS

指定customDir会在工作区下创建一个customDir文件夹,其下方有Module1和Module2文件夹。

此行为发生在命令行以及Hudson内部,因此它必须是CVS的一个功能。