Asp.net mvc Jenkins-MSBuild Web部署创建zip而不是部署
我在让Jenkins正确使用MSBuild并将构建的网站部署到web服务器时遇到问题 到目前为止,我已经在Visual Studio 2012中创建了网站,并使用中的向导创建了一个发布配置文件,该文件将成功发布到我的web服务器。然后,我在同一台PC上使用了命令行版本的MSBuild来测试命令行参数是否正常工作……它们确实如此!在此基础上,我在Jenkins for MSBuild中添加了一个构建步骤,指向同一个.sln文件并使用相同的参数,但由于某些原因,它没有按预期进行web部署,只是创建了一个zip文件。我看不到任何东西告诉它应该这样包装,我有点疯了 VS创建(我正在使用)的发布配置文件如下:Asp.net mvc Jenkins-MSBuild Web部署创建zip而不是部署,asp.net-mvc,visual-studio-2012,msbuild,jenkins,webdeploy,Asp.net Mvc,Visual Studio 2012,Msbuild,Jenkins,Webdeploy,我在让Jenkins正确使用MSBuild并将构建的网站部署到web服务器时遇到问题 到目前为止,我已经在Visual Studio 2012中创建了网站,并使用中的向导创建了一个发布配置文件,该文件将成功发布到我的web服务器。然后,我在同一台PC上使用了命令行版本的MSBuild来测试命令行参数是否正常工作……它们确实如此!在此基础上,我在Jenkins for MSBuild中添加了一个构建步骤,指向同一个.sln文件并使用相同的参数,但由于某些原因,它没有按预期进行web部署,只是创建了
<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>
在詹金斯,我有以下几点:
MSBuild Version: v4.0.30319
MSBuild Build File: C:\Program Files\Jenkins\jobs\CPE2\workspace\mvcCPE.sln
Command Line Arguments: /property:Configuration=Release /property:DeployOnBuild=True /property:PublishProfile=mvcCPE.pubxml /property:Password=nimdasys
据我所知,Jenkins应该在服务器上构建和部署我的站点,但事实并非如此。非常感谢您的帮助(我对Jenkins和VS还比较陌生)。因为更多的研究提供了如何解决这个问题的最后提示 今天早上我又搜索了一段时间后,发现了一篇关于在Jenkins上构建项目的帖子,内容是不带VS。根据答案中的建议,我从
C:\Program files(x86)复制了文件夹和文件\将我的开发PC上的MSBuild\Microsoft\VisualStudio\v11.0
移动到生成PC上的同一位置,并使用附加开关再次运行生成/property:VisualStudioVersion=11.0
。这导致我出现以下错误:
C:\Program Files\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets(3676,5): error : Package/Publish task Microsoft.Web.Publishing.Tasks.IsCleanMSDeployPackageNeeded failed to load Web Deploy assemblies. Microsoft Web Deploy is not correctly installed on this machine. Microsoft Web Deploy v3 or higher is recommended. [C:\Program Files\Jenkins\jobs\Call_Plan_Editor_2\workspace\mvcCPE\mvcCPE.csproj]
因此,事实证明,我根本没有在构建服务器上加载Web Deploy程序集(这就是当你让其他人用你需要的“一切”设置它时得到的!),所以我从Microsoft下载并安装了Web Deploy V3,经过几次调整后,它现在可以正确构建和部署
希望没有其他人能像我一样迟钝地错过这样的事情,但我想回答我自己的问题,因为我讨厌在没有解释的情况下找到只说“好的,我解决了它”的帖子。还必须在客户端安装Web Deploy。从中部署的计算机
C:\Program Files\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets(3676,5): error : Package/Publish task Microsoft.Web.Publishing.Tasks.IsCleanMSDeployPackageNeeded failed to load Web Deploy assemblies. Microsoft Web Deploy is not correctly installed on this machine. Microsoft Web Deploy v3 or higher is recommended. [C:\Program Files\Jenkins\jobs\Call_Plan_Editor_2\workspace\mvcCPE\mvcCPE.csproj]