#node.js #aws-lambda #serverless #bitbucket-pipelines
#node.js #aws-lambda #бессерверный #bitbucket-конвейеры
Вопрос:
Я не такой большой эксперт в использовании npm
и bitbucket-pipelines
, но я хочу создать конвейер на Bitbucket для развертывания моего проекта python (flask) с использованием serverless
AWS Lambda. Он развертывается локально, но когда я запускаю его с помощью конвейера Bitbucket, это происходит:
Ошибка: не удается найти модуль ‘/opt/atlassian/pipelines/agent/build/node_modules/fs-extra/lib/index.js «. Пожалуйста, убедитесь, что в package.json есть допустимая запись «main»
Вот мой код:
bitbucket-pipelines.yml
image: node:14.13.1-alpine3.10
pipelines:
branches:
master:
- step:
caches:
- node
script:
- apk add python3
- npm install
- npm install -g serverless
- serverless config credentials --stage dev --provider aws --key ${AWS_DEV_LAMBDA_KEY} --secret ${AWS_DEV_LAMBDA_SECRET}
- serverless deploy --stage dev
serverless.yml
service: serverless-flask
plugins:
- serverless-python-requirements
- serverless-wsgi
custom:
wsgi:
app: app.app
packRequirements: false
pythonRequirements:
dockerizePip: non-linux
provider:
name: aws
runtime: python3.8
stage: dev
region: us-west-2
functions:
app:
handler: wsgi.handler
events:
- http: ANY /
- http: 'ANY {proxy }'
alert:
handler: alerts.run
events:
- schedule: rate(1 day)
package:
exclude:
- .venv/**
- venv/**
- node_modules/**
- bitbucket-pipelines.yml
Как я могу это исправить?
Комментарии:
1. Как вы это решили? столкнулся с той же ошибкой при попытке развертывания через bitbucket
Ответ №1:
Что помогло мне в той же ситуации было:
- Удаленная
/node_modules
папка - запуск
npm install
внутри служебной папки - выполнить
serverless deploy
Ответ №2:
У меня была такая же проблема, и я решил проблему, (повторно) установив fs-extra
npm install fs-extra