2011-04-25 58 views
1

在我的本地dev的機器這個完美的作品:如何使用MSBuild部署到TeamCity中的文件夾?

msbuild project.name.csproj /p:DeployOnBuild=true /p:DeployTarget=PipelinePreDeployCopyAllFilesToOneFolder /p:_PackageTempDir="c:\proyectos\folder1\deploy" /p:AutoParameterizationWebConfigConnectionStrings=false 

我試圖與配置中的MSBuild一個TeamCity的構建步驟,在「命令行參數」我把這個:

/p:DeployOnBuild=true /p:DeployTarget=PipelinePreDeployCopyAllFilesToOneFolder /p:_PackageTempDir="c:\proyectos\folder1\deploy" /p:AutoParameterizationWebConfigConnectionStrings=false 

它運行,顯示沒有錯誤,但文件不會被複制到「C:\ PROYECTOS \文件夾1 \部署」

編輯:我有在命令提示符下使用的MSBuild同樣的問題,所以它不是的TeamCity 。我的本地開發機器在Windows 7上,服務器是Windows 2003

+0

做複製的東西看起來像什麼?如果錯誤,它會打破構建?如果沒有,做/ v:診斷將顯示個別步驟 – 2011-04-28 21:36:25

回答

4

/v:dv:diag運行以獲取日誌記錄。

(搞不定當地第一,但...在TeamCity的,查看代理控制檯,並期待在代理詳細日誌的方式類似於這樣的日誌(或只是通過TeamCity的傳遞相同的/v:標誌的MSBuild))

+0

謝謝,我認爲這個問題是與teamcity,但問題是與MSBuild本身。我發現我必須在服務器上安裝Visual Studio! – hminaya 2011-04-30 03:53:46

+0

@hminaya:很高興你排序。不喜歡聽到有人把服務器放在服務器上的核選項,儘管 - 一般來說,你只需要放置合適的.targets文件,但是我不知道你正在做什麼__實際上做了什麼! – 2011-04-30 07:09:16

1

您需要確保運行「TeamCity Build Agent Service」的用戶具有對相關目錄的寫入權限。 (FWIW,我相信LocalSystem帳戶在Server 2003和Windows 7中具有不同的組成員身份。我們在他們自己的「teamcity」帳戶下運行我們所有的TeamCity構建代理,以更明確地控制權限並允許訪問網絡共享。 )

+0

只要你沒有吞嚥錯誤,錯誤信息可能會導致這種情況。第一步是找出什麼是錯的,而不是開始猜測? – 2011-04-28 21:35:14

0

安裝Visual Studio 2010是否修復此問題。但是,您也可以通過將適當的構建目標複製到您的機器來修復它。通常情況下,你的dev的機器,他們會在(或者拿走(x86)的32個機)

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web 

在那裏你會發現一堆Microsoft.Web.Publishing的*目標。

只需將它們複製到生成機器上的同等位置即可,一切正常。

0

在服務器中通過web平臺安裝Web部署工具對我很有用。其實visual studio安裝安裝web部署,這可能是它爲@himinaya工作的原因。

相關問題