TeamCity + MSBuild: Развертывание с правами доступа

Необходимо написать сценарий для развертывания веб-сайта в общую директорию. Но для доступа к этому каталогу необходимо ввести логин / пароль. Как мне это сделать?

Часть конфигурации MSBuild:

 <PropertyGroup Condition="'$(SERVER)'=='DEV'">
    <DeploymentFolder>\\server\dir$</DeploymentFolder>
      <CopyConfig>dev.web.config</CopyConfig>
      <ZipFile>webSite.zip</ZipFile>
  </PropertyGroup>

Где и как я могу указать логин и пароль, которые позволят TeamCity развернуть веб-сайт в выбранном каталоге?

P.S. Я не могу запустить TeamCity с теми же правами доступа, которые должны использоваться при развертывании.


person Rover    schedule 21.09.2010    source источник


Ответы (2)


Вероятно, вы могли бы использовать команду DOS "net use" для сопоставления каталога удаленного сервера с буквой диска, как в этом примере:

<Exec Command="net use Q: \\server\dir your-password /USER:your-username"/>
<Copy SourceFiles="@(YourDeploymentFiles)" DestinationFolder="Q:\%(RecursiveDir)" />
<Exec Command="net use Q: /delete"/>
person Petter Wigle    schedule 23.09.2010

Как насчет дополнительного Build-Agent, который работает под правильной учетной записью?

Еще одна идея - написать задачу MSBuild, которая выполняет действия в указанном каталоге. И в этой задаче вы можете использовать правильные учетные данные.

=== редактировать ===

Еще одна идея: напишите крошечный инструмент, который запускает msbuild с правильными учетными данными. Вместо использования MSBuild Runner из TeamCity используйте Runner командной строки и выполните этот инструмент-оболочку

person Noffls    schedule 22.09.2010