2011-05-19 50 views
9

我們使用teamcity來部署我們的幾個項目。我試圖設置一個果園項目的部署,而我目前正在遇到一些問題。使用TeamCity設置果園項目的部署

我有teamcity項目的構建和通知成功和失敗的構建。當我添加一個部署步驟,並運行它,我得到以下錯誤:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3460, 5): error MSB4044: The "ConcatFullServiceUrlWithSiteName" task was not given a value for the required parameter "SiteAppName".

我不能告訴,如果它只是我沒有正確地配置構建步驟,或者如果它有果園的麻煩。有沒有人有成功部署TeamCity的果園項目,你能幫助解決這個問題嗎?

回答

-4

我發現這個問題,我們有一些權限沒有正確設置在Web服務器上的部署用戶。我能夠正確地給用戶

+6

這不是一個很好的答案讓你接受,我的意思是它只是沒有增加其他人有這個問題的價值。我很樂意看到你解釋了實際解決的問題。非常感謝 – shanabus 2012-01-24 03:52:58

+0

那麼,我實際上並不知道我還能爲此添加什麼。這是很久以前的事了,我只是不得不爲小組城市在Web服務器上部署的用戶准許權限。 – tjans 2012-01-30 22:26:21

+1

我想我有同樣的問題,我無法弄清楚我做錯了什麼。很想看到需要改變什麼樣的權利來完成這項工作的答案。 – ydd1987 2012-06-19 12:22:34

27

我有同樣的問題,並通過進入固定它的發佈/包裝網「,在Visual Studio項目設置標籤和下的「IIS網站/應用程序名稱,指定到目標上使用IIS網站名稱服務器'

您還可以在TeamCity中指定DeployIisAppPath作爲MS構建議題。

+1

我們目前將一個應用程序從MVC移到了MVC 3,並且第二次遇到了這個問題,同樣的錯誤。很高興這個答案在這裏! – 2011-07-19 21:55:42

+1

我敢打賭,如果你刪除所有,但「你也可以指定DeployIisAppPath作爲TeamCity中的MS構建議題。」我們會有一個贏家。謝謝! – 2013-07-03 01:35:34

1

我沒有運氣部署使用Visual Studio 2010的Orchard CMS一鍵發佈。它確實有* .targets文件的一些問題。

我認爲應該發佈的方式是使用Orchard.proj文件。它具備生成正確的Web部署軟件包所需的一切: 當您撥打msbuild /t:Build Orchard.proj時,它會編譯所有內容,將適當的文件放在臨時文件夾中的適當位置,然後生成~\artifacts\MsDeploy\Orchard.Web.zip。 該軟件包已準備好部署。您可能想要編輯manifest.xmlparameters.xml,具體取決於您想完成的操作。同爲Orchard.proj:你可能想使一些殘疾人模塊的存在等

我還要張貼樣品msdeploy劇本,而我在這:

deploy.cmd:

@echo off 
set site=sitename.com 
set user=iis_manager_login 
set pass=password 
set host=wmsvc='https://hosting.provider.com:8172/msdeploy.axd?site=%site%',userName='%user%',password='%pass%',authtype='Basic' 
set cmd=-allowUntrusted -verbose 
echo on 

::This command puts app_Offline.htm to web application root, asp.net will 
::automatically shut down instantly. My hosting provider does not let me use 
::recycleApp Provider anyway. I am also not able to use filePath Provider. 
::That's why I use contentPath. 
msdeploy -verb:sync -source:contentPath='%CD%\lib\msdeploy\app_Offline.htm' -dest:contentPath="%site%\app_Offline.htm",%host% %cmd% 

::This is the main deploy command. It will apply every provider listed in 
::manifest.xml, applying changed written in parameters.xml. 
::It will also skip Media, Settings.txt and app_Offline.htm itself. 
::Without skip directive, it would all get removed. 
::Deploy will try to delete folders that do not exist in Orchard.Web.zip 
::You might have a need to add something like 
::<WriteLinesToFile File="$(StageFolder)\App_Data\Sites\Default\_placeholder.txt" Lines="some_text" Overwrite="true"/> 
::to your Orchard.proj 
msdeploy -verb:sync -source:package='artifacts\MsDeploy\Orchard.Web.zip' -dest:auto,%host% -setParam:name='Application Path',value='%site%' -skip:File='%site%\\App_Data\\Sites.*Settings.txt' -skip:File='%site%\\app_Offline.htm' -skip:Directory='%site%\\Media' %cmd% 

::Remove app_Offline.htm, now your site can start up. 
msdeploy -verb:delete -dest:contentPath="%site%\app_Offline.htm",%host% %cmd% 

很可能this blog post會有所幫助。

3

在爲我工作的項目文件設置中設置以下參數。

默認Web站點/ MySampleWebSite

2

我(使用文本編輯器手動編輯)

<PropertyGroup> ... 
    <DeployIisAppPath>mysite</DeployIisAppPath> 
    </PropertyGroup> 

已將此添加的csproj文件和照顧錯誤的...

1

然同樣的錯誤讓我的部署使用竹子自動執行。在我的情況下,我有兩個項目的Web應用程序項目和Web應用程序依賴的類庫。當我使用msbuild deployment commandline運行部署時,類庫依賴關係將生成並失敗,並丟失SiteAppName錯誤(查看診斷日誌,它似乎試圖部署我的類庫)。

爲了解決這個問題,我首先構建了整個項目,然後在msbuild部署命令行中添加/p:BuildProjectReferences=false而無需重建類庫,即可運行msbuild部署。