Настройка развертывания проекта Орчард с использованием TeamCity - PullRequest
9 голосов
/ 19 мая 2011

Мы используем teamcity для развертывания нескольких наших проектов. Я пытаюсь настроить развертывание проекта фруктового сада, и в настоящее время у меня возникают некоторые проблемы.

У меня есть проект TeamCity, извещающий об успешных и неудачных сборках. Когда я добавляю шаг развертывания и запускаю его, я получаю следующую ошибку:

C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web \ Microsoft.Web.Publishing.targets (3460, 5): ошибка MSB4044: задаче «ConcatFullServiceUrlWithSiteName» не задано значение для обязательного параметра "SiteAppName".

Я не могу сказать, просто ли я неправильно настраиваю шаг сборки или у него проблемы с фруктовым садом. У кого-нибудь был успех в развертывании проектов фруктовых садов из TeamCity, и вы можете помочь пролить свет на эту проблему?

Ответы [ 6 ]

27 голосов
/ 20 мая 2011

У меня была та же проблема, и я исправил ее, перейдя на вкладку «Публикация / Пакет Web» в настройках проекта Visual Studio и указав имя веб-сайта IIS в разделе «Веб-сайт / приложение IISимя для использования на конечном сервере '.

Вы также можете указать DeployIisAppPath в качестве аргумента сборки MS в TeamCity.

3 голосов
/ 10 апреля 2012

Настройка следующего параметра в настройках файла проекта у меня сработала.

Веб-сайт по умолчанию / MySampleWebSite

2 голосов
/ 31 августа 2012

Я добавил это в файл csproj (ручное редактирование с помощью текстового редактора)

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

, и это позаботилось об ошибке ...

1 голос
/ 19 декабря 2012

Произошла та же ошибка, когда мои развертывания были автоматизированы с использованием бамбука.В моем случае у меня есть два проекта - проект веб-приложения и библиотека классов, от которых зависит веб-приложение.Когда я запустил развертывание, используя msbuild командную строку развертывания , зависимость библиотеки классов выстроится и выйдет из строя с отсутствующей ошибкой SiteAppName (просматривая диагностические журналы, похоже, пытается развернуть мою библиотеку классов).

Чтобы обойти проблему, я закончил сначала сборку всего проекта, а затем запустил развертывание msbuild, не перестраивая библиотеку классов, добавив /p:BuildProjectReferences=false в командную строку развертывания msbuild.

1 голос
/ 06 июня 2011

Мне не повезло с развертыванием Orchard CMS с помощью Visual Studio 2010, нажав один раз кнопку «Опубликовать». У него действительно были некоторые проблемы с файлом * .targets.

Я думаю, что способ публикации должен использовать Orchard.proj файл. В нем есть все необходимое для создания правильного пакета веб-развертывания: Когда вы вызываете msbuild /t:Build Orchard.proj, он компилирует все, помещает нужные файлы в нужные места во временных папках и затем генерирует ~\artifacts\MsDeploy\Orchard.Web.zip. Этот пакет готов к развертыванию. Вы можете редактировать manifest.xml и parameters.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%

Вероятно, это сообщение в блоге может быть полезным.

0 голосов
/ 06 июня 2011

Я обнаружил проблему, у нас были неправильно настроены некоторые разрешения для пользователя развертывания на веб-сервере. Я смог дать пользователю правильный

...