2015-07-11 3 views
2

У меня есть настройка TeamCity на моем сервере. Я успешно загружаю свой исходный код и строю через Visual Studio. Журналы говорят, что сборка выполнена успешно. Тем не менее, в это время, в результате сборки находится в директории, как:Копирование файлов после сборки с TeamCity

C:\TeamCity\buildAgent\work\688d47a33b8989b6\site 

Как принимать содержимое URL выше и полицейского им в каталог на той же машине? Например, я хотел бы взять содержимое каталога, перечисленных выше, и поместить их в:

C:\WebSites\MySite 

Как я могу сделать это скопировать и вставить в TeamCity, так что у меня есть истинный непрерывный цикл интеграции?

Спасибо

ответ

3

Просто создайте шаг, который использует ROBOCOPY или аналогичное, используйте командную строку тип шага и просто сделать что-то вроде этого:

ROBOCOPY . C:\WebSites\MySite *.* /E /MIR /NP 
IF %%ERRORLEVEL%% LEQ 3 set errorlevel=0 
IF %%ERRORLEVEL%% NEQ 0 EXIT /b %%ERRORLEVEL%% 
EXIT 0 

В 3 последних строках есть, потому что ROBOCOPY возвращает ненулевым -zero "ERRORLEVEL" значения даже для успешной копии. Вы хотите, чтобы TeamCity сообщал сборку как сломанную, если ROBOCOPY действительно сообщает об ошибке, но вы хотите игнорировать значения уровня ошибок, указывающие на успех, а следовательно, и на 3 дополнительных строки.

Также обратите внимание на «.». как первый параметр, шаги в TeamCity начинаются с рабочего каталога, установленного в рабочий каталог сборки, поэтому он должен соответствовать вашему каталогу сборки.

Если вы хотите, чтобы избежать перезаписи производства/тестирования файлов web.config с файлов web.config развития, добавьте эту строку ROBOCOPY:

/XF web.config 

Это будет игнорировать web.config при копировании.

2

Почему вы хотите это сделать. Что происходит с существующим содержимым, когда происходит следующая сборка? Если вы ищете способ сохранить файлы, созданные из сборки, вы должны использовать Teamcity Build Artifacts. Таким образом, вы можете сохранить то, что было создано, как в конкретной сборке. Все, что вам нужно сделать, чтобы это сделать, это обновить путь Артефакты в соответствии с общими настройками, как показано ниже: enter image description here

+0

Это делает артефакты, даже если сборка терпит неудачу. –

3

Вот визуальный принятого ответа, используя TeamCity 9.1.1.

RoboCopy TeamCity

Смежные вопросы