Настройка TeamCity для работы с ClearCase

Я пытаюсь настроить TeamCity для работы с ClearCase для непрерывной интеграции, и у меня возникло несколько проблем. TeamCity жалуется, что не может собрать патч для сборки. Я искал в Интернете информацию о ClearCase и TeamCity, и там на удивление мало информации по этой теме. Кому-нибудь удалось заставить TeamCity работать с ClearCase?

Вот мой журнал сборки:

[18:09:11]: Updating sources (2s)
[18:09:13]: [Updating sources] Failed to build patch for build #1.0.23-November-2009.18:09:09, build id: 10, VCS root: ClearCase, due to error: Cannot get version in view 'D:\CCdata\my_vob\my_project' for the directory D:\CCdata\my_vob\my_project
[18:09:13]: Will repeat attempt when server will be available, number of attempts left: 2
[18:09:23]: Updating sources (1s)
[18:09:25]: [Updating sources] Failed to build patch for build #1.0.23-November-2009.18:09:09, build id: 10, VCS root: ClearCase, due to error: Cannot get version in view 'D:\CCdata\my_vob\my_project' for the directory D:\CCdata\my_vob\my_project
[18:09:25]: Will repeat attempt when server will be available, number of attempts left: 1
[18:09:35]: Updating sources (2s)
[18:09:37]: [Updating sources] Failed to build patch for build #1.0.23-November-2009.18:09:09, build id: 10, VCS root: ClearCase, due to error: Cannot get version in view 'D:\CCdata\my_vob\my_project' for the directory D:\CCdata\my_vob\my_project
[18:09:37]: [Updating sources] Patch is broken, can be found in file: C:\TeamCity\buildAgent\temp\cache\temp58518patch10
[18:09:37]: [Updating sources] Error while applying patch: Failed to build patch for build #1.0.23-November-2009.18:09:09, build id: 10, VCS root: ClearCase...

Вот teamcity-vcs.log файл:


person Andrew Garrison    schedule 24.11.2009    source источник
comment
Только что завершил свой ответ в ответ на ваши комментарии.   -  person VonC    schedule 24.11.2009
comment
Только что видел ваш (гораздо более документированный) отчет о jetbrains.net/devnet/thread/285255. Не могли бы вы: - запустить teamcity с -Dcc.log.commands=true в runAll.sh или runAll.bat - установить уровень отладки для ведения журнала VCS (в TEAMCITY_HOME/conf/teamcity-server-log4j.xml): - А затем прикрепить к вашему вопросу файл журнала VCS (TEAMCITY_HOME/logs/teamcity-vcs.log)?   -  person VonC    schedule 25.11.2009
comment
Просто добавил в свой ответ пересмотренную спецификацию конфигурации, чтобы вы могли протестировать   -  person VonC    schedule 25.11.2009


Ответы (3)


Как упоминалось в вопросе непрерывной интеграции с Teamcity и Clearcase, мы (коллега и I) удалось заставить TeamCity эффективно взаимодействовать с ClearCase, но:

  • только после того, как их плагин ClearCase переписан, и
  • только с динамическими представлениями в качестве источника для поиска изменений (обновление большого представления моментального снимка просто заняло слишком много времени)

Динамическое представление - единственный способ использовать этот тип плагина, но их первоначальная реализация неэффективна (выполнение некоторого cleartool describe для каждого файла, который был изменен!)

«Путь к представлению ClearCase» должен относиться к полному пути к источникам в вашем представлении ClearCase (см. например, эта ветка)

Сообщение об ошибке появилось в мае 2009 г., но в то время было исправлено. Какой путь вы используете?


Что касается вашего отчета о JetBrain, ваша конфигурация мне кажется странной.
I пойдет с:

  #View files that are checked out.
  element * CHECKEDOUT

  #View files under the MyProject/LATEST branch.
  element /My_vob/... .../MyProject/LATEST

  #Create the MyProject branch.
  element -file /My_vob/... R5.0.0.0 -mkbranch MyProject
  element -dir * /main/LATEST -mkbranch MyProject

  load /My_vob

(Примечание:

  • '/' вместо '\': оба хорошо работают с ClearCase, но плагин TeamCity, похоже, предпочитает '/'
  • .../MyProject вместо /main/MyProject: старайтесь не предполагать, где находится ветвь
    )
person VonC    schedule 24.11.2009
comment
Я пытаюсь просто заставить TeamCity работать с представлением моментального снимка или динамическим представлением. Я полагаю, что динамическое представление - лучший вариант, поскольку все жалуются на то, насколько медленными являются просмотры моментальных снимков. Я даже не могу настроить динамический просмотр. Я не понимаю, что добавить в путь просмотра ClearCase в настройке VCS. Я все время получаю сообщение об ошибке: «Это не путь к просмотру ClearCase». - person Andrew Garrison; 24.11.2009
comment
Я получил его, чтобы принять путь просмотра для динамического представления, но я все еще получаю ту же ошибку в моем исходном сообщении: Не удалось создать патч для сборки ..... Невозможно получить версию в поле зрения. - person Andrew Garrison; 25.11.2009
comment
Может быть, это проблема с разрешением в ClearCase? У меня есть настройка TeamCity для использования моей учетной записи, возможно, моя учетная запись пользователя неправильно настроена для TeamCity или даже для выполнения обычных операций в этом динамическом представлении. - person Andrew Garrison; 25.11.2009
comment
Я прикрепил файл teamcity-vcs.log к сообщению на форумах jetBrains. Файл teamcity-clearcase.log не был создан. Мне нужно будет посмотреть, как заставить его сгенерировать. - person Andrew Garrison; 25.11.2009
comment
Я также попробовал ваши предложения со спецификацией конфигурации, но это не повлияло на результат. - person Andrew Garrison; 25.11.2009

Эта ошибка была вызвана моей спецификацией конфигурации. Изменение двух строк с шаблоном / My_vob / ... на *, похоже, решило проблему. Я не знаю, почему у TeamCity возникла проблема с более точным шаблоном, но изменение его на *, похоже, решило эту проблему.

Вот исходная спецификация конфигурации:

#View files that are checked out.
element * CHECKEDOUT

#View files under the MyProject/LATEST branch.
element /My_vob/... .../MyProject/LATEST

#Create the MyProject branch.
element -file /My_vob/... R5.0.0.0 -mkbranch MyProject
element -dir * /main/LATEST -mkbranch MyProject

И я просто изменил две строки (заменил вхождения / My_vob / ... на *)

#View files that are checked out.
element * CHECKEDOUT

#View files under the MyProject/LATEST branch.
element * .../MyProject/LATEST

#Create the MyProject branch.
element -file * R5.0.0.0 -mkbranch MyProject
element -dir * /main/LATEST -mkbranch MyProject
person Andrew Garrison    schedule 01.12.2009
comment
Это потому, что /... означает «элемент и все его подэлементы». Значение /My_vob/... .../MyProject/LATEST означает, что у My_Vob должна быть ветка 'MyProject', которая может не обязательно иметься. * работает, потому что если My_Vob не имеет ветки 'MyProject', он просто переходит к правилу element -dir * /main/LATEST -mkbranch MyProject, выбору /main/LATEST, ожидая каких-либо изменений для создания MyProject ветки. Хороший улов. +1 - person VonC; 13.12.2009

Эндрю, у нас была та же проблема, что и у вас сейчас.

Плагин Jetbrains фатально ошибочен, они делают чертовски много ct lsvtree и ct describe для создания кеша, чтобы узнать, какие версии были созданы и в какое время (для каждой версии каждого элемента, видимого в виде прозрачного корпуса). Вот почему мы создали собственный плагин. Вместо этого он использует директиву времени из спецификации конфигурации clearcase, как описано здесь VonC: Непрерывная интеграция с Teamcity и Clearcase

person Gilles Philippart    schedule 01.12.2009