エラー
こんな感じのエラーが出て落ちることがある。
Status: Downloaded newer image for lambci/lambda:build-python3.7
ERROR: Could not open requirements file: [Errno 2] No such file or directory: '/var/task/requirements.txt'
原因
プラグイン serverless-python-requirements
の dockerizePip
を利用すると起こることがある。
対策
CI環境ではビルドにLinuxのイメージを利用し dockerizePip
を使わない。
CircleCIでは環境変数 CI
に必ず true
が入ることを利用して dockerizePip
をfalseにします。(参考)
ローカルマシンでは環境変数 CI
に false
を設定しておく必要があります。
serverless.yamlのcustom
custom:
pythonRequirements:
dockerizePip: ${self:custom.isCI.${env:CI}}
layer: true
isCI:
true: false
false: true
備考
-
Travis CIでも
CI
にはtrue
が入る模様。いい文化ですね。