我遇到了让Jenkins正确使用MSBuild并将我构建的网站部署到Web服务器的问题.
到目前为止,我已在Visual Studio 2012中创建了该网站,并使用该向导创建了一个发布配置文件,该配置文件将成功发布到我的Web服务器.然后我在同一台PC上使用命令行版本的MSBuild来测试命令行参数是否正常工作......他们这样做了!从那时起,我在Jenkins中为MSBuild添加了一个构建步骤,指向同一个.sln文件并使用相同的参数但由于某种原因它没有按预期进行Web部署,它只是创建一个zip文件.我看不到任何告诉它它应该像这样打包它并且有点疯狂的东西.
VS创建(我正在使用)的发布配置文件如下:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<ExcludeApp_Data>False</ExcludeApp_Data>
<MSDeployServiceURL>http://10.215.134.184/msdeployagentservice</MSDeployServiceURL>
<DeployIisAppPath>Default Web Site/mvcCPE</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
<MSDeployPublishMethod>RemoteAgent</MSDeployPublishMethod>
<EnableMSDeployBackup>False</EnableMSDeployBackup>
<UserName>Administrator</UserName>
<_SavePWD>True</_SavePWD>
<PublishDatabaseSettings>
<Objects xmlns="">
<ObjectGroup Name="DefaultConnection" Order="1" Enabled="False">
<Destination Path="" />
<Object Type="DbDacFx">
<PreSource Path="Data Source=.\SQLEXPRESS;Initial Catalog=aspnet-mvcCPE-20130228154150;Integrated Security=True" includeData="False" />
<Source Path="$(IntermediateOutputPath)AutoScripts\DefaultConnection_IncrementalSchemaOnly.dacpac" dacpacAction="Deploy" />
</Object>
<UpdateFrom Type="Web.Config">
<Source MatchValue="Data Source=.\SQLEXPRESS;Initial Catalog=aspnet-mvcCPE-20130228154150;Integrated Security=SSPI" MatchAttributes="$(UpdateFromConnectionStringAttributes)" />
</UpdateFrom>
</ObjectGroup>
</Objects>
</PublishDatabaseSettings>
</PropertyGroup>
<ItemGroup>
<MSDeployParameterValue Include="$(DeployParameterPrefix)DefaultConnection-Web.config Connection String" />
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
在命令行上,我使用以下命令:
msbuild mvcCPE.sln /property:Configuration=Release /property:DeployOnBuild=True /property:PublishProfile=mvcCPE.pubxml /property:Password=xxxxxx …Run Code Online (Sandbox Code Playgroud)