TeamCity Build & Deploy: как передать скрипту зависимые пути артефактов?
Как передать пути артефактов скрипту в TeamCity. Сценарий такой
- Строительство
- развернуть проект (с зависимостью артефакта от #1)
Шаг 2 состоит из скрипта, который
- останавливает службу (для разблокировки файлов)
- копирует артефакты сборки на сервер
- перезапускает службу
Я борюсь с шагом 2, я считаю, что мне нужно пройти путь артефактов сборки в скрипт, но я не вижу, как вы это делаете?
1 ответов
мы делаем что-то вроде этого. Это не 100% ясно, но похоже, что вы хотите выполнить сборку и развертывание как две отдельные сборки в TeamCity с зависимостью артефакта от сборки развертывания на основной сборке, что именно то, что мы делаем. Вот как мы это делаем.
-
Настройте свои артефакты из основной сборки, которую, похоже, вы уже сделали.
Example: **\bin\release\*.* => bin
-
настройка зависимости артефакта (мы также делаем снимок оснастки зависимость, но вам не нужно), чтобы вытащить артефакты из основной сборки и поместить их в локальную папку в вашей сборке развертывания.
Example: Artifacts paths: bin\**\*.* Destination path: bin\
-
мы используем смесь MSBuild и PowerShell для выполнения фактической работы по развертыванию. В каждом случае вы можете ссылаться на артефакты, используя относительный путь.
если рабочая папка сборки выглядит следующим образом:
root |- bin (Artifacts pulled in from main build) |- src |- build (Where your build and deployment scripts live)
вы получите доступ к файлам bin из сценария развертывания, расположенного в папки созидать как:
..\bin\[your files]
затем вы можете пройти путь к артефактам сборки, как это
%teamcity.build.checkoutDir%\bin\