TeamCity + MSBuild: развертывание с правами доступа - PullRequest
2 голосов
/ 21 сентября 2010

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

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

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

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

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

Ответы [ 2 ]

4 голосов
/ 23 сентября 2010

Вероятно, вы можете использовать команду 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"/>
1 голос
/ 22 сентября 2010

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

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

=== edit ===

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

...