Azure AppServiceに配置するPythonのプロジェクトについて
同じプロジェクトでフロントエンドとバックエンドの資材を扱いたい場合とか
requirement.txtの場所を変えたい時がある。
例)
root
┗backend:バックエンド側資材。こっちにrequirement.txtを入れたい。
┗requirement.txt
┗frontend:フロント側資材
対応:以下2点を実施
①アプリケーション設定で「CUSTOM_REQUIREMENTSTXT_PATH」変数にrequirements.txtのパスを設定する。設定値はrootからのパス。
②アプリケーション設定で「SCM_DO_BUILD_DURING_DEPLOYMENT」変数に1を設定する(trueでもよい)
上記構成だと、設定値は以下となる
CUSTOM_REQUIREMENTSTXT_PATH=backend/requirement.txt
SCM_DO_BUILD_DURING_DEPLOYMENT=1
これでOK。
解決まで長かったので経緯
以下を参照すると、
https://github.com/microsoft/Oryx/blob/main/doc/configuration.md
アプリケーション設定で「CUSTOM_REQUIREMENTSTXT_PATH」変数を用いてrequirements.txtの場所をカスタマイズできる、と読み取れる
…なぜかエラーになる。
ログを読み取ると「Could not find setup.py or requirements.txt;」と記載されているのでrequirements.txtが読めていないっぽい。
requirements.txtをroot直下に持っていくと稼働するので、どうもこの記載のとおり設定しても動かないっぽい。
なので、サポートに問い合わせる。
サ:CUSTOM_REQUIREMENTSTXT_PATHだけでなく、SCM_DO_BUILD_DURING_DEPLOYMENT=1も設定する必要があるよ
設定する。変わらない。
サ:確認するからちょっとまってー
:
ここから、なんと3か月待たされた。
どうやら不具合だったらしい。
途中で不具合だったとか、今直してますとか、状況教えてくれたらいいんだけどねえ。