JenkinsでCIビルドサーバーを構成しています。ビルド手順の後で、ウェブサイトをデプロイしたいと思います。
VisualStudioからウェブサイトを公開する際、Web Deployで公開しました。変更されたファイルを実際に公開するので、デプロイが非常に高速なので、この方法が好きです。
次に、ビルドサーバーで同じことを実行しようとしています。アプリケーションをビルドし(MSBuild.exe
を使用)、アプリケーションをデプロイします(MSDeploy.exe
?を使用)。
MSBuild.exe
を使用してアプリケーションをデプロイする投稿とMSDeploy.exe
を使用する他の投稿を見たことがありますが、そこに大きな違いはありますか?
これに役立つアドバイスはありますか?
おかげで、高度な。
MSBuildを使用してMSDeployパッケージを作成し、次にMSDeploy.exeを使用してそのパッケージを任意の環境に展開します。このリンクは、WebDeploy/MSDeployのしくみについて理解を深めるのに役立ちます。
http://dotnetcatch.com/2016/02/25/the-anatomy-of-a-webdeploy-package/
MSDeployを使用してデータベースやWeb以外のアプリケーションを展開することもできます。この方法を使用して、50以上の製品の展開を完全に自動化しました。
http://dotnetcatch.com/2016/02/10/deploying-a-database-project-with-msdeploy/
http://dotnetcatch.com/2016/03/18/deploy-non-web-apps-with-msdeploy/
[〜#〜]更新[〜#〜]-MSDeployパッケージを使用するための基本的な手順:
/t:Package
引数を追加して、ビルドにパッケージを作成しますbin
ディレクトリからアーティファクトリポジトリに保存しますMSDeploy.exeを呼び出して、ターゲットサーバーにパッケージを展開します。ここには多くのオプションがありますが、基本的なコマンドは次のとおりです。
"c:\ Program Files(x86)\ IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:package = mypackage.Zip -dest:auto、computerName = localhost
現在のVisual Studioとdotnetを使用するとさらに簡単です。VisualStudioで発行プロファイルを作成し、CIサーバーでdotnetを使用します。
dotnet publish /p:PublishProfile=PROFILE-NAME /p:Password=*****