説明
私たちは現在、MVC4/Umbraco に基づくプロジェクトに参加しており、Azure Websites を使用してホストしています。
SCM_BUILD_ARGS を使用して、デプロイ先の Azure のサイト (Test と Prod) に応じて異なるビルド設定を変更しています。
これは、UI でアプリ設定を定義することによって行われます。
SCM_BUILD_ARGS = /p:環境=テスト
以前は Bitbucket Integration を使用してデプロイしましたが、ここではこの設定がチャンピオンのように機能しました。
Git Deployment の使用に切り替えて、テストに合格したらビルド サーバーから変更をプッシュします。しかし、これを行うと、素敵なエラーが発生します。
"MSB1008: 指定できるプロジェクトは 1 つだけです。"
ただし、Azure の UI から同じ失敗した展開を再展開しようとすると機能します。
いくつかの試行錯誤の後、 deploy.cmd に入り%SCM_BUILD_ARGS%
、スクリプトに値を出力することを終了しました。/
SCM_BUILD_ARGS から削除されたように見えますが、Bitbucket 統合や UI からの再デプロイではなく、Git デプロイを使用している場合のみです。
回避策
/
回避策として、今のところ deploy.cmd スクリプトの の前に を追加しました%SCM_BUILD_ARGS%
が、これはもちろん、再デプロイを中断//p:Environment=Test
します%SCM_BUILD_ARGS%
。
:: 2. Build to the temporary path
IF /I "%IN_PLACE_DEPLOYMENT%" NEQ "1" (
:: Added / to SCM_BUILD_ARGS
%MSBUILD_PATH% "%DEPLOYMENT_SOURCE%\www\www.csproj" [....] /%SCM_BUILD_ARGS%
) ELSE (
%MSBUILD_PATH% "%DEPLOYMENT_SOURCE%\www\www.csproj" [....] /%SCM_BUILD_ARGS%
)
質問
この問題のより良い解決策を知っている人はいますか?それとも Kudu のバグでしょうか? Git からのデプロイと再デプロイの両方が機能することを願っています。