0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

github actionsからAzure appserviceへのデプロイが失敗する("Bad Request"とか出てる)

Posted at

タイトルの通りでいつも失敗していた

  • いい加減不便すぎるので調査した
  • githubやazureの不具合、というよりもactionsの仕様?的なものだった

失敗原因

  • commitメッセージがマルチバイト文字を含んでいて、長い文章になっていると失敗する。

対策

  • マージ時などのコミットメッセージは短くしておく

調査内容

  • 通常時のエラーメッセージ
Error: Failed to deploy web package to App Service.
Error: Deployment Failed, Error: Failed to deploy web package to App Service.
Bad Request (CODE: 400)

こんな内容なので正直よくわからん。
なのでDebug有効にして再度Job実行
すると↓(一部省略済み)

##[debug][POST] https://hogehoge.scm.azurewebsites.net/api/zipdeploy?isAsync=true&deployer=GITHUB_ZIP_DEPLOY&message=(ここがめちゃ長い)
##[debug]Could not parse response body.
##[debug]{}
##[debug]ZIP Deploy response: {"statusCode":400,"statusMessage":"Bad Request","headers":{"content-length":"3944","content-type":"text/html; charset=utf-8","date":"Tue, 25 Jun 2024 05:29:41 GMT","server":"Microsoft-IIS/10.0","cache-control":"private","x-aspnet-version":"4.0.30319","x-powered-by":"ASP.NET"},"body":"<!DOCTYPE html>\r\n<html>\r\n    <head>\r\n        <title>The length of the query string for this request exceeds the configured maxQueryStringLength value.</title>\r\n        <meta name=\"viewport\" content=\"width=device-width\" />\r\n        <style>\r\n         body {font-family:\"Verdana\";font-weight:normal;fonts.-->"}
Error: Failed to deploy web package to App Service.
Error: Deployment Failed, Error: Failed to deploy web package to App Service.
Bad Request (CODE: 400)

どうやらzipdeploy叩いてるときにめちゃ長いURLになっている様子。
めちゃ長くなっている部分をURLデコードしてみるとコミットメッセージとかが入ってる。
これが原因で失敗しているみたいだ。

azure/webapps-deploy@v2 task

https://learn.microsoft.com/ja-jp/azure/devops/pipelines/tasks/reference/azure-rm-web-app-deployment-v2?view=azure-pipelines
ここから見るに、デプロイ時にmessageをカスタマイズする方法はなかった。

action src

https://github.com/Azure/webapps-deploy/blob/master/src/actionparameters.ts
ここにある。
中をさらに見てみると、commitMessageの指定部分
https://github.com/Azure/webapps-deploy/blob/5c1d76ea769631d040d04d0883468281f78a2375/src/actionparameters.ts#L57
で1000文字までに制限していた。
ただマルチバイトを想定してない?のかこれだと多分不十分なんだろう。

原因がわかったのでコミットメッセージを短くして再度Action動かすと問題なくデプロイできた。

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?