Проблема с извлечением Хадсона / Дженкинса из репозитория CVS
Я пытаюсь использовать Hudson для выполнения CI в хранилище CVS, но я получаю следующую ошибку при попытке запустить сборку:
Запущено пользователем admin [Pilot1] $ "C:\Program Files (x86)\CVS Suite\CVSNT\cvs.exe" -Q -z3 -d:sserver:логин:_сервер:/CVSRepo co -P -d рабочая область -D "Четверг, 3 марта 2011 г. 14:20:08 UTC" ITitC/
cvs checkout: в каталоге.:
cvs checkout: невозможно открыть CVS/ Записи для чтения: Нет такого файла или каталога. java.io.IOException: Такой каталог не существует. Вы указали правильную ветку? Возможно, вы указали тег: c: \ path\ workspace
на 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. Я также смог быстро создать папку с таким именем в каталоге "workspace" в начале сборки Hudson, но она удаляется при каждой новой сборке.
Можно ли заставить Hudson или CVSNT создавать папки по мере необходимости перед каждой сборкой или по умолчанию? Это проблема с CVSNT? Я не слишком привязан к CVSNT и готов заменить его на лучший вариант.
2 ответа
Мы столкнулись с той же проблемой с CVS 1.11.xx и не смогли ее решить. В результате мы перешли на CVS 1.12.xx и Хадсон работает отлично. Кажется, эта проблема характерна для некоторых сборок сервера CVS и не имеет отношения к клиенту CVS.
Я столкнулся с подобной проблемой
[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 указано имя каталога. Используя заданный по умолчанию 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.