9

我们使用 teamcity 来部署我们的几个项目。我正在尝试设置果园项目的部署,但目前遇到了一些问题。

我有 teamcity 项目构建和成功和失败构建的通知。当我添加部署步骤并运行它时,我收到以下错误:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3460, 5): 错误 MSB4044: "ConcatFullServiceUrlWithSiteName" 任务没有给出所需的值参数“SiteAppName”。

我不知道是我没有正确配置构建步骤,还是果园有问题。有没有人成功地部署了 TeamCity 的果园项目,你能帮助阐明这个问题吗?

4

6 回答 6

27

我遇到了同样的问题,并通过转到Visual Studio 项目设置中的'Publish/Package Web'选项卡并在'IIS Web site/application name to use on destination server'下指定 IIS 网站名称来修复它。

您还可以将 DeployIisAppPath 指定为 TeamCity 中的 MS 构建参数。

于 2011-05-20T14:56:29.433 回答
3

在项目文件设置中设置以下参数对我有用。

默认网站/MySampleWebSite

于 2012-04-10T10:37:07.190 回答
2

我将此添加到 csproj 文件中(使用文本编辑器手动编辑)

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

并解决了错误...

于 2012-08-31T12:57:50.560 回答
1

我没有运气使用 Visual Studio 2010 一键发布部署 Orchard CMS。*.targets 文件确实存在一些问题。

我认为它应该发布的方式是使用Orchard.projfile. 它具有生成正确的 Web 部署包所需的一切:当您msbuild /t:Build Orchard.proj调用~\artifacts\MsDeploy\Orchard.Web.zip. 此软件包已准备好部署。您可能想要编辑manifest.xmlparameters.xml具体取决于您想要完成的工作。同样适用于Orchard.proj:您可能希望在那里启用一些禁用的模块等。

我还将在使用时发布示例 msdeploy 脚本:

部署.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%

这篇博文可能会有所帮助。

于 2011-06-05T22:07:08.280 回答
1

使用竹子让我的部署自动化时遇到了同样的错误。就我而言,我有两个项目,一个 Web 应用程序项目和一个 Web 应用程序所依赖的类库。当我使用msbuild 部署命令行运行部署时,类库依赖项将构建并失败,并出现缺少的 SiteAppName 错误(查看诊断日志,它似乎正在尝试部署我的类库)。

/p:BuildProjectReferences=false为了解决这个问题,我首先构建了整个项目,然后运行 ​​msbuild 部署,而不通过添加到 msbuild 部署命令行来重建类库。

于 2012-12-18T23:29:15.707 回答
-4

我发现了问题,我们在 Web 服务器上为部署用户设置了一些权限不正确。我能够给用户正确的

于 2011-06-06T13:33:48.870 回答