2016-05-14 213 views
6

我讀過很多關於使用各種版本的Visual Studio從TeamCity發佈的文章。我目前使用的TeamCity的v.9.1.7和Visual Studio 2015年TeamCity使用Visual Studio 2015發佈

我必須在辦理入住手續我的3個構建步驟:

  • 清潔&重建
  • 單元測試
  • 發佈

Build Steps

當我在我的文件檢查我得到了維護設備TS傳遞成功消息:

Tests Passed

我可以在這裏告訴的東西是不正確的,因爲我認爲這將談談出版。當我看到生成日誌我看到以下內容:

[12時48分22秒] [API \ API.sln]發佈[12時48分22秒] [發佈]的MSBuild [12:48: 22] [MSBuild的] API \ API \ API.csproj:構建目標:發佈 [12點48分22秒] [API \ API \ API.csproj] _DeploymentUnpublishable

我發佈生成步驟是設置這樣:

Publish Build Step

在我的A在Visual Studio中的PI項目我可以發佈到網絡上的正確位置。這是我發佈的個人資料:

Visual Studio Publish Profile

我不知道我錯過了什麼。我期待發布構建步驟能夠像在Visual Studio中單擊Build-> Publish菜單項一樣工作。

我在猜測我錯過了什麼或者誤解了發佈構建步驟應該做什麼。

任何幫助表示讚賞。

+0

不確定這可以解決問題,但發佈步驟中的「目標」字段應該根據註釋分隔空間或分號。 '重建;發佈' –

回答

4

經過幾天和幾天的搜索後,我才得以使用它。我在Stack Overflow找到了答案的一部分。訣竅是把它從MSBuild的命令行工作:

C:\ TFS \項目\ myProject的\ APIproject>的MSBuild apiproject.csproj /P:DeployOnBuild =真 /P:PublishProfile =「屬性\ PublishProfiles \ DEV.pubxml「 /p:VisualStudioVersion = 14。0

一旦我得到這個跑幾次我能夠創造隊市一生成步驟(見本question/answer),我設置如下:

  • 構建文件路徑:<location of the apiproject.csproj>
  • MSBuild的版本:微軟構建工具2015年
  • 的MSBuild ToolsVersion:14.0
  • 運行平臺:86
  • 命令李NE參數:/p:DeployOnBuild=true /p:PublishProfile= "C:\TFS\API\API\Properties\PublishProfiles\DEV.pubxml" /p:VisualStudioVersion=14.0
1

IIRC,從TeamCity發佈需要某些文件或VS安裝在構建代理(這真的不推薦)。您是否將必要的文件複製到構建代理?

+0

什麼是IIRC?現在一切都在我的本地機器上。所以技術上我有VS在哪裏TC。一旦我得到這個所有撥打,我打算將它移到它自己的盒子。 – webdad3

+0

如果我記得正確 –

1

何處定義了工件位置。 你可以使用觸角發佈到各種環境。我想,你需要考慮工件配置。

0

VS可能會發現你的個人資料發佈只用名字,如: /p:DeployOnBuild=true;/p:PublishProfile=DEV;非常有用的,如果你不止一個生成代理運行。

如果你部署到IIS,你可能需要添加AllowUntrustedCertificate=true;

1

可以使用的MSBuild亞軍部署應用程序/ API enter image description here

添加命令行參數:

/t:Clean /p:DeployOnBuild=true /t:build /t:publish /p:PublishProfile=C:\_works\teamcity\publishprofiles\Publiush_Profile.pubxml /p:VisualStudioVersion=12.0 

PublishPrfile URL應該是您的發佈配置文件路徑。

這將爲你工作。