Jenkins で MSBuild を正しく使用し、構築した Web サイトを Web サーバーにデプロイする際に問題が発生しています。
これまで、Visual Studio 2012 で Web サイトを作成し、ウィザードを使用して、Web サーバーに正常に発行する発行プロファイルを作成しました。次に、同じ PC でコマンド ライン バージョンの MSBuild を使用して、コマンド ライン引数が正しく機能することをテストしました。これから、同じ .sln ファイルを指し、同じ引数を使用して MSBuild 用のビルド ステップを Jenkins に追加しましたが、何らかの理由で期待どおりに 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>
コマンドラインで次のコマンドを使用しています。
msbuild mvcCPE.sln /property:Configuration=Release /property:DeployOnBuild=True /property:PublishProfile=mvcCPE.pubxml /property:Password=xxxxxx
そして、ジェンキンスには次のものがあります。
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にかなり慣れていません)。