我正在使用msbuild文件,TeamCity和Web Deploy部署我的網站,並且一切正常,對於包含在Visual Studio csproj文件中的文件。除了這些文件,我還想根據環境發佈多個文件,例如許可證文件等。如何使用msbuild文件和TeamCity發佈其他文件?
這是我的構建文件DeployToTest.proj:
<Project DefaultTargets="Deploy" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<ItemGroup>
<LicenseSourceFiles Include="License.config"/>
<RobotSourceFile Include="robots.txt" />
</ItemGroup>
<Target Name="Build">
<Message Text="Starting build" />
<MSBuild Projects="..\..\WebApp.sln" Properties="Configuration=Test" ContinueOnError="false" />
<Message Text="##teamcity[buildNumber '$(FullVersion)']"/>
<Message Text="Build successful" />
</Target>
<Target Name="Deploy" DependsOnTargets="Build">
<Copy SourceFiles="@(LicenseSourceFiles)" DestinationFolder="..\..\wwroot"></Copy>
<Copy SourceFiles="@(RobotSourceFile)" DestinationFolder="..\..\wwwroot"></Copy>
<Message Text="Started deploying to test" />
<Exec Command="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe ..\..\wwwroot\WebApp.csproj /property:Configuration=Test /t:MsDeployPublish /p:MsDeployServiceUrl=99.99.99.99;DeployIisAppPath=MySite;username=user;password=pass;allowuntrustedcertificate=true" />
<Message Text="Finished deploying to test" />
</Target>
</Project>
正如你可以看到我試圖複製license.config和robots.txt的沒有任何的運氣。
這個.proj文件被選爲TeamCity中的'Build file path'。
有關我如何完成此任務的任何建議?
該文件被複制到正確的目錄,但未包含在由Web Deploy部署的軟件包中... – Kulvis
@Kulvis好的。我對Web部署的經驗有限,但在這種情況下,問題可能在於部署設置。它是部署所有文件還是僅部署運行該應用程序所需的文件?您可以向我們提供部署設置嗎? – Petrik
沒有其他的部署設置,然後我粘貼在我的問題。只部署csproj文件中包含的文件。所以我需要一種方法在TeamCity中包含其他文件... – Kulvis