Teamcity артефакты в SVN - PullRequest
       5

Teamcity артефакты в SVN

3 голосов
/ 04 апреля 2011

Мы прикрепили сборки, которые были запущены в производство.Существует ли простой автоматизированный способ загрузки артефактов закрепленных сборок в репозиторий SVN?

Ответы [ 2 ]

3 голосов
/ 04 апреля 2011

Примечание : Версионные артефакты не кажутся хорошей практикой.Если ваш источник управляется VCS, вы уже можете восстановить свою систему в любом предыдущем состоянии, начиная с предыдущих версий.Более того, по практическим соображениям TeamCity уже хранит недавнюю историю ваших артефактов, поэтому вы можете быстро получить к ним доступ и развернуть их.

Вернемся к вашему вопросу: я не вижу хорошего способа достичьо чем ты просишь.Однако есть две идеи:

  • Перенос артефактов в репозиторий SVN довольно прост из вашего скрипта сборки;вам просто нужно создать задачу, которая фиксирует файлы в вашем репо.Если на этом этапе у вас достаточно контекста, чтобы узнать, нужно ли закрепить сборку, вы можете инициировать фиксацию.

  • TeamCity предлагает хороший REST API.Из любого автоматизированного задания / скрипта / программы вы можете запросить у вашего сервера сборки получить «статус вывода» любой сборки:

    Получить текущий статус вывода: GET http://teamcity:8111/httpAuth/app/rest/builds/<buildLocator>/pin/(возвращает текст «true» или «false»)

    Как только вы получите статус сборки, вы можете загрузить и зафиксировать свои артефакты.

Снова, весь процесс кажется мне неловким.

2 голосов
/ 04 апреля 2011

TeamCity действует как Ivy хранилище. Таким образом, необходимость помещать вещи в SVN несколько менее привлекательна. Вы просто создаете резервную копию и ваш скрипт сборки использует его в качестве хранилища.

В качестве альтернативы вы можете создать конфигурацию сборки с зависимостью артефакта от "последней закрепленной" сборки вашего проекта.

Вы можете запустить его как свою сборку, или как зависимость от своей сборки, вы можете просто использовать таймер.

Вы можете запустить скрипт Ant, который выполняет загрузку SVN. , вам может понадобиться проверить с помощью скрипта сборки, чтобы увидеть, является ли это новая закрепленная сборка или старая.

...