Как заставить teamcity запускать файл .bat при каждой успешной сборке? - PullRequest
2 голосов
/ 29 января 2010

У меня установлена ​​команда teamcity (4.something), которая создает файл .wsp для развертывания на sharepoint. В настоящее время я должен скопировать wsp из каталога артефактов сборки в небольшую папку для развертывания, которую я создал. В папке я запускаю .bat, который развертывает новый .wsp на наш тестовый сервер. Какие шаги я могу предпринять, чтобы автоматизировать это?

Либо скопируйте .bat в папку артефактов и обновите пути и т.д., либо скопируйте из папки артефактов в папку 'deploy' и запустите оттуда .bat.

Я неофит, когда дело доходит до тонкостей (или основ!) MSBuild и тому подобного ... так что ценим руки!

Ответы [ 2 ]

11 голосов
/ 28 декабря 2011

В более поздних версиях TeamCity ...

В определении сборки вы можете указать артефакты, которые можно скопировать / сжать. Затем артефакты можно загружать вручную или ссылаться на них из другой сборки ( Зависимость артефакта ).

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

  • Создание сборки для развертывания
  • Шаг сборки
    • Запуск: исполняемый файл с параметрами
    • Исполняемый файл команды: файл .bat (убедитесь, что он является частью созданных артефактов сборки ci)
    • Параметры команды: любые параметры, необходимые для ваших файлов исправлений
  • Зависимость
    • Добавить новую зависимость артефакта
    • Зависит от: выберите сборку CI, которую вы хотите развернуть
    • GetArtifacts из: Последняя успешная сборка
    • Правила артефактов: +: ** / *. *

Итак, данные артефакты (например, ваш пакетный файл) находятся в сборке CI ... Теперь у вас есть сборка 'deploy'. Когда вы запускаете его (вручную или настраиваете триггер сборки), он копирует все артефакты сборки CI в свой рабочий каталог (зависимость от артефактов), а затем запускает пакетный файл для развертывания.

Довольно гладко.

примечание: просто убедитесь, что у учетной записи, на которой запущен TeamCity BuildAgent, есть разрешения на все действия по развертыванию.

Надеюсь, это кому-нибудь поможет, так как мне понадобилось время, чтобы разобраться с этим;)

1 голос
/ 29 января 2010

Я сделал это, создав задачу nant, а затем заставив TeamCity выполнить задачу nant. Это больше боли, чем должно быть. Вы должны быть в состоянии сделать то же самое, что и событие после сборки с MSBuild.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...