Как объединить и зафиксировать ветку в TeamCity

Я хочу выяснить, как интегрировать сборки TeamCity с развертываниями Springloops.

Допустим, у меня есть Git-репо api имеет две ветви dev а также dev.build

api
|-- dev
|-- dev.build

Я настроил TeamCity с триггером VCS на dev основываться на совершении. Который затем создает артефакты, которые я хочу использовать для развертывания. (В данном случае это веб-сайт ASP.NET с различными библиотеками DLL, которые я хочу использовать для развертывания).

У меня также есть Springloops, которые я сейчас использую для развертываний. В идеале я хотел бы развернуть из dev.build, Есть ли способ передать артефакты сборки из TeamCity в dev.build ветка, а потом развернуть из этой ветки?

Основной рабочий процесс будет

  1. Передать код в dev
  2. TeamCity объединяется dev в dev.build
  3. TeamCity строится из dev.build
  4. TeamCity передает артефакты (DLL) в dev.build
  5. Springloops автоматически развертывается из dev.build

Я прочитал аргументы против хранения двоичных файлов / артефактов сборки в git, но сейчас я делаю свои развертывания из Springloops, и в идеале я мог бы сохранить эту настройку. Я знаю, ты можешь позвонить git в качестве шага сборки командной строки, но у меня проблемы с соединением всех частей. Особенно как слить с dev в dev.build в качестве шага сборки TeamCity, а затем использовать dev.build строить из.

Это вообще возможно? Я думаю об этом совершенно неправильно? У меня есть другие варианты?

Редактировать /Update

Я обнаружил, что будет разумнее переключиться на использование WebDeploy для развертывания артефактов TeamCity (пакет WebDeploy) вместо фиксации артефактов сборки из репозитория git через Springloops. Надеюсь, что я перестану использовать Springloops для развертываний и буду развертывать непосредственно на своих сайтах IIS через WebDeploy через задачу сборки TeamCity. Так строятся артефакты (\bin папка) останется вне мерзавца, и web.config преобразования также могут быть использованы вместо ручной web.config редактирует на производственных сайтах IIS.

2 ответа

Решение

Другим вариантом, который я бы порекомендовал, является создание артефакта TeamCity, который предназначен для хранения результатов вашей работы в интегрированном хранилище артефактов облегченной сборки.

Таким образом, Springloops может искать артефакты для развертывания непосредственно по URL-адресу TeamCity (или агенту TeamCity).
Это было бы лучше, чем пытаться поместить эти артефакты в репозиторий с исходным кодом, такой как Git, который не предназначен для этого.

Что касается самой сборки TeamCity, она может состоять из двух заданий (одно зависит от другого), причем первое из них использует функцию автоматического объединения, чтобы объединить dev в dev.build,

Да, это абсолютно выполнимо в TeamCity. На самом деле Jetbrains освещает многое из этого в блоге здесь.

Другие вопросы по тегам