管道无服务器部署在依赖安装时失败

Pipeline Serverless deploy fails on dependency install

我们正在使用 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

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

提前致谢。

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

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

您还可以在 package.json 文件中的 devDependencies 中使用您的版本添加无服务器,如:

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

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

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

然后在你的 pipeline.yml

- npm i
- npm run sls:deploy