I am trying to deploy my lambda through Jenkins and I face this error.
Deploying lambda function into 'dev' stage
Serverless: Installing plugin "serverless-python-requirements@latest" (this might take a few seconds...)
Serverless: Successfully installed "serverless-python-requirements@latest"
Serverless: Generated requirements from /var/llib/jenkins/workspace/ice-textract/extract/requirements.txt in /var/llib/jenkins/workspace/ice-textract/extract/.serverless/requirements.txt...
Type Error ----------------------------------------------
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
at validateString (internal/validators.js:124:11)
at Object.join (path.js:1148:7)
at userData (/var/llib/jenkins/workspace/ice-textract/extract/node_modules/appdirectory/lib/appdirectory.js:21:29)
at AppDirectory._setTemplates (/var/llib/jenkins/workspace/ice-textract/extract/node_modules/appdirectory/lib/appdirectory.js:134:34)
at new AppDirectory (/var/llib/jenkins/workspace/ice-textract/extract/node_modules/appdirectory/lib/appdirectory.js:129:10)
at getUserCachePath (/var/llib/jenkins/workspace/ice-textract/extract/node_modules/serverless-python-requirements/lib/shared.js:91:16)
at getRequirementsWorkingPath (/var/llib/jenkins/workspace/ice-textract/extract/node_modules/serverless-python-requirements/lib/shared.js:72:22)
at installRequirementsIfNeeded (/var/llib/jenkins/workspace/ice-textract/extract/node_modules/serverless-python-requirements/lib/pip.js:541:29)
at ServerlessPythonRequirements.installAllRequirements (/var/llib/jenkins/workspace/ice-textract/extract/node_modules/serverless-python-requirements/lib/pip.js:655:29)
at ServerlessPythonRequirements.tryCatcher (/var/llib/jenkins/workspace/ice-textract/extract/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/var/llib/jenkins/workspace/ice-textract/extract/node_modules/bluebird/js/release/promise.js:547:31)
at Promise._settlePromise (/var/llib/jenkins/workspace/ice-textract/extract/node_modules/bluebird/js/release/promise.js:604:18)
at Promise._settlePromise0 (/var/llib/jenkins/workspace/ice-textract/extract/node_modules/bluebird/js/release/promise.js:649:10)
at Promise._settlePromises (/var/llib/jenkins/workspace/ice-textract/extract/node_modules/bluebird/js/release/promise.js:729:18)
at _drainQueueStep (/var/llib/jenkins/workspace/ice-textract/extract/node_modules/bluebird/js/release/async.js:93:12)
at _drainQueue (/var/llib/jenkins/workspace/ice-textract/extract/node_modules/bluebird/js/release/async.js:86:9)
at Async._drainQueues (/var/llib/jenkins/workspace/ice-textract/extract/node_modules/bluebird/js/release/async.js:102:5)
at Immediate.Async.drainQueues [as _onImmediate] (/var/llib/jenkins/workspace/ice-textract/extract/node_modules/bluebird/js/release/async.js:15:14)
at processImmediate (internal/timers.js:464:21)
For debugging logs, run again after setting the "SLS_DEBUG=*" environment variable.
Get Support --------------------------------------------
Docs: docs.serverless.com
Bugs: github.com/serverless/serverless/issues
Issues: forum.serverless.com
Your Environment Information ---------------------------
Operating System: linux
Node Version: 14.17.2
Framework Version: 2.66.1
Plugin Version: 5.5.1
SDK Version: 4.3.0
Components Version: 3.18.0
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 1
Finished: FAILURE
Here is my serverless.yml
file.
service: textract-service
frameworkVersion: '2'
provider:
name: aws
iam:
role: <IAM_ROLE>
lambdaHashingVersion: 20201221
deploymentBucket:
name: <bucket>
region: <region>
functions:
extract:
handler: ./extract/lambda_function.lambda_handler
layers:
- <MY poppeler layer>
package:
include:
- ./extract/lambda_function.py
plugins:
- serverless-python-requirements
custom:
pythonRequirements:
dockerizePip: true
Here is my project structure
My handler is in ./extract/lambda_funnction.py
and my method to invocate is lambda_handler
Please help me out here.