Мы используем VisualSVN как наш репозиторий исходного кода на работе. У меня нет контроля над ним (Dev делает), и мне нужно приложить усилия по автоматизации, как они в настоящее время его используют.TeamCity - обновление SVN?
Каждое приложение разбито на разные ветви кода, которые для использования в настоящее время Dev также действуют как его версия. Таким образом, я развертываю из папки филиала для каждого приложения в SVN, а не в Trunk.
Некоторые из них являются сборками, которые создают общие файлы, используемые многими другими разрабатываемыми приложениями, и служат предпосылками для этих сборок. Поскольку некоторые из используемых репо содержат несколько ветвей, где одна ветка используется одним приложением и другая ветка для другого приложения, мне не нужно настраивать TeamCity для очистки/проверки, а затем снова перестроить все эти ветви.
Чтобы обойти это, я подумал, что просто отключить опцию «Очистить» в настройках проверки исправит это. Однако я заметил, что простое снятие флажка с чистой опцией не обязательно переводит на простое обновление SVN, так как это может произойти при выполнении обновления вручную.
Пример: Вручную, если я зашел в мой извлеченный каталог и удалил одну из папок ветвей кода, я мог бы вернуться назад и сделать щелчок правой кнопкой мыши -> SVN Update в корневой папке, и он обнаружит, что я был пропустите эту ветку и отпустите ее.
В TeamCity, однако, удаляя папку ветвления кода из папки проверки, а затем повторно запуская задание, она не обнаруживает, что эта ветка отсутствует, и перепроверьте ее. Строка курса терпит неудачу, и все. Это заставляет меня думать, что когда новая ветка появится на месте, она не проверит ее?
У меня отсутствует какой-либо другой параметр или очевидная опция, чтобы заставить TeamCity выполнить это обновление?
Как вы управляете зависимостями к общим файлам, находящимся в других ветвях? Используете ли вы внешнюю функцию SVN? Во-вторых, вы могли бы настроить автоматическую упаковку nuget для зависимостей? Они все равно могут оставаться в своих отдельных ветвях и т. Д., Но приложение, требующее их, просто будет использовать пакеты, а не исходный код. – gezzahead
Позвольте мне предисловие, сказав, что я очень новичок в этих инструментах и изучаю их, когда я иду. Я не знаю, что такое внешние SVN. Для зависимостей я использовал зависимость моментального снимка в проекте построения, чтобы создавать цепочки построения. Я не знаком с nuget, поэтому мне придется исследовать. – h2ocool