Webサイトプロジェクトアプリケーション(* .wdprojを使用)とWeb配置アプリケーションをIISに展開するようにTeamCityを設定しています。
MSBuild.exeとMSDeployPublishを使用してアプリケーションをビルドし、展開するビルド構成があります。
ここで、アプリケーションを複数のターゲット環境にデプロイする必要があるため、ターゲット環境に基づいてさまざまな設定を提供する方法が必要です。
私はparameters.xmlファイルをWebDeploymentProjectに追加し、ここで設定されたパラメーターがターゲットIISサーバーを完全に通過し、正しく適用されていることを確認しました。
今私がやりたいのは、環境ごとに異なるパラメーター設定を行うことです。MSDeploy.exe -setParam引数のようなものを使用して、環境ごとに異なる値を指定できることを望んでいましたが、コマンドラインからパラメーター値をMSBuildに取得する方法が見つかりません。
次のいずれかを実行する必要があると思います。
MSBuildとMSDeployを別々のビルドステップに分割します。
パイプラインのどこかにタスクを構成して、nバージョンのparameters.something.xmlの1つを取得し、それをparameters.xmlに移動して、パイプラインの残りの部分で取得されるようにします。
私はこの時点で前進するための最も簡単な方法を探しています、どんな提案も歓迎します。
参考までに、これが私が今実験しているコマンドです:
msbuild /target:MSDeployPublish MySite_deploy.wdproj /P:Configuration=Debug
/P:DeployOnBuild=True /P:DeployTarget=MSDeployPublish
/P:MsDeployServiceUrl=www.myserver.com:8172/MsDeploy.axd
/P:AllowUntrustedCertificate=True /P:MSDeployPublishMethod=WMSvc
/P:CreatePackageOnPublish=True /P:UserName=MyUser /p:Password=MyPassword
/P:DeployIisAppPath=www.myserver.com/MySite
/P:ServerURL=http://www.tryingtoforcethis.com
私がparameters.xmlで定義したパラメーターであるServerURLの値がターゲットサイトに到達していないことを除いて、これはうまく機能しています。ただし、parameters.xmlで指定したデフォルトはです。したがって、パラメーターが機能していることはわかっていますが、msbuildコマンドラインにパラメーターを追加する方法がわかりません。