LoginSignup
0
0

More than 5 years have passed since last update.

KuduのCustom Deployment Script でのデプロイにて、MSBuild14が動かなくなった

Posted at

今まで普通に動いていたCustom Deployment Script(Azure Web Apps)によるデプロイ処理が、突然エラーで終了するようになってしまいから何とか改善まで至った時のメモです。

そのため情報が不十分である可能性がありますので、ご注意ください。

どんなエラーが出たのか

The syntax of the command is incorrect.
D:\Program Files (x86)\SiteExtensions\Kudu\73.10510.3399\bin\Scripts\starter.cmd deploy.cmd

発生の経緯まで

コードの変更も特になかったため、残念ながら分からず終いでした。

調べた内容

ツールをVisual Studio2015から2017に変えたからか?とも思いましたが、変えたのは2018年4月ころで、そのうえ事象が発生するまでの間に何度となくデプロイは行っていたので対象外としました。

その他文字コード、改行コードも調べてみましたがデプロイできていたころと変わらずエラー、、、

ちなみにそれぞれ以下の設定になってました。

  • 文字コード : UTF-8
  • 改行コード : CRLF

どうやって直したのか

上記のエラーをさらに追ってみたところ、MSBuild14が動作してないらしいことまで追えたため、

Add "Build Tools for Visual Studio 2017" to Azure App Service #2350

に記載のある修正内容に則って(コメントアウトが変更前のコード)

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Deployment
:: ----------

echo Handling .NET Web Application deployment.

:: 1. Restore NuGet packages
IF /I "XXXXX.sln" NEQ "" (
  :: call :ExecuteCmd nuget restore "%DEPLOYMENT_SOURCE%\XXXXX.sln"
  call :ExecuteCmd nuget restore "%DEPLOYMENT_SOURCE%\XXXXX.sln" -MSBuildPath "%MSBUILD_15_DIR%"
  IF !ERRORLEVEL! NEQ 0 goto error
)

加えて

:: 2. Build to the temporary path

IF /I "%IN_PLACE_DEPLOYMENT%" NEQ "1" (
  :: call :ExecuteCmd "%MSBUILD_PATH%" "%DEPLOYMENT_SOURCE%\AAAA.BBBB\AAAA.BBBB.csproj" ^
  call :ExecuteCmd "%MSBUILD_15_DIR%\MSBuild.exe" "%DEPLOYMENT_SOURCE%\AAAA.BBBB\AAAA.BBBB.csproj" ^
  /nologo ^
  /verbosity:m ^
  /t:Build ^
  /t:pipelinePreDeployCopyAllFilesToOneFolder ^
  /p:_PackageTempDir="%DEPLOYMENT_TEMP%";AutoParameterizationWebConfigConnectionStrings=false;Configuration=%DEPLOY_MODE%;UseSharedCompilation=false ^
  /p:SolutionDir="%DEPLOYMENT_SOURCE%\.\\" %SCM_BUILD_ARGS%
) ELSE (
  :: call :ExecuteCmd "%MSBUILD_PATH%" "%DEPLOYMENT_SOURCE%\AAAA.BBBB\AAAA.BBBB.csproj" ^
  call :ExecuteCmd "%MSBUILD_15_DIR%\MSBuild.exe" "%DEPLOYMENT_SOURCE%\AAAA.BBBB\AAAA.BBBB.csproj" ^
  /nologo ^
  /verbosity:m ^
  /t:Build ^
  /p:AutoParameterizationWebConfigConnectionStrings=false;Configuration=%DEPLOY_MODE%;UseSharedCompilation=false ^
  /p:SolutionDir="%DEPLOYMENT_SOURCE%\.\\" %SCM_BUILD_ARGS%
)

というように修正したところ、無事起動するようになりました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0