无依赖项的管道无服务器部署失败

时间:2019-06-12 14:42:37

标签: git amazon-web-services webpack aws-lambda bitbucket-pipelines

我们正在使用AWS Lambda,并且我正在尝试自动化我们的部署。无服务器脱机软件包在无服务器构建时生成错误。

这是一个多端点部署。我们将部署多个目录,因此将在管道中部署cd console。我们可以使用无服务器部署很好地进行手动部署,但是到目前为止,我进行自动化的尝试都没有结果。

我的pipeline.yml

image: lambci/lambda:build-nodejs6.10
pipelines:
  default:
    - step:
        deployment: test
        script:
          - npm install
          - npm install -g serverless
          - npm install -g serverless-offline
          - npm install -g serverless-domain-manager
          - cd console # will be doing this for multiple directories, but just using one for now
          - serverless plugin install --name serverless-webpack
          - serverless plugin install --name serverless-offline
          - serverless plugin install --name serverless-domain-manager
          - serverless create -t aws-nodejs
          - serverless deploy

该目录的我的部分serverless.yml

# Use the serverless-webpack plugin to transpile ES6
plugins:
  - serverless-webpack
  - serverless-offline
  - serverless-domain-manager

# serverless-webpack configuration
# Enable auto-packing of external modules
custom:
  webpack:
    webpackConfig: ./webpack.config.js
    includeModules: true
  customDomain:

我尝试使用

进行安装

npm install -g serverless-offline

- serverless plugin install --name serverless-offline

如果我错过任何一个我都会收到错误

Serverless plugin "serverless-offline" not found. Make sure it's installed and listed in the "plugins" section of your serverless config file.

但是现在我得到了

Serverless plugin "serverless-offline" initialization errored: Unexpected identifier

当我运行无服务器创建步骤时。

谢谢。

2 个答案:

答案 0 :(得分:0)

发现问题后,我需要全局安装无服务器,但必须在目录内安装npm:

          - npm install -g serverless          
          - git log --grep=console
          - cd console
          - npm install

答案 1 :(得分:0)

您还可以在package.json文件的devDependencies中将带有版​​本的无服务器添加为:

"devDependencies": {
"serverless": "1.72.0",
 ....
 }

然后在脚本部分添加自定义命令

"scripts": {
  "sls:deploy": "serverless deploy",
   .....
 }

然后在您的管道中。yml

- npm i
- npm run sls:deploy