2012-05-02 33 views
9

我們爲nuget配置了TeamCity 7服務器。它託管在沒有外部連接的機器上。是否可以將包發佈到TeamCity nuget服務器? 例如,如果我們想將log4net軟件包依賴項添加到我們的某個項目中,則需要將其發佈到TeamCity服務器,因爲nuget.org無法訪問。 到目前爲止,我已經嘗試發佈到http://teamcity:port/guestauth/app/nuget/v1/FeedService.svc的變體,但到目前爲止還沒有運氣。軟件包如何發佈到TeamCity nuget服務器?

感謝, 安迪

回答

0

之前我們有同樣的問題,實際解決方案是創建一個構建配置,@Robert說。但TeamCity的免費版本有20構建配置限制,有時你不希望在單一的NuGet包使用它們,所以我們的解決方法是:

  • 你需要寫訪問到的TeamCity服務器軟件包的文件夾。
  • 用適當的權限創建共享文件夾到packages文件夾。
  • 在項目文件夾中創建一個.cmd文件與語句:
set output=\\teamcityserver\Packages 
<nuget.exe path>\nuget pack "MyProject.csproj" -o %output% -build -Properties Configuration=Release 

所以關鍵是直接打包項目到服務器軟件包的文件夾。

如果您在解決方案中有幾個nuget包,只需重複每個包的「nuget pack」行,就完成了。遊艇通往nuget.exe的路徑並正確更改。

我還沒有嘗試在最近的TeamCity版本中發佈。

+2

Sergi,這個TeamCity \ Packages目錄在哪裏?在TeamCity數據目錄中,我可以看到\ backup,\ config,\ lib,\ plugins和\ system目錄。這個目錄裏面具體是什麼? –

+1

我想我混合了一些概念......我們實際上做的是直接發佈到我們自己的Nuget服務器...不是TeamCity的......所以,對於混淆抱歉... – Sergi