2015-07-11 48 views
2

我在我的服務器上安裝了TeamCity。我已經成功下載了我的源代碼,並通過Visual Studio進行構建。日誌表示構建成功。然而,在這個時候,編譯的結果是一個目錄,如:用TeamCity編譯後複製文件

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

如何採取上述網址和警察它們的內容到一個目錄在同一臺機器上?舉例來說,我想借此上面列出的目錄中的內容並把它們放在:

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」值,即使是成功複製。如果ROBOCOPY確實報告失敗,您希望TeamCity將構建報告爲中斷,但您希望忽略表示成功的錯誤級別值,因此需要添加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