无服务器到 AWS - Gitlab CICD
Serverless to AWS - Gitlab CICD
我正在使用 Serveless Framework 开发应用程序,我想使用 GitLab CICD 在 AWS 中部署它。
根据最佳实践文档,我设置了一个具有以下结构的存储库:
│
├── services
│ ├── customer-api
│ │ └── handler.js, serverless.yml
│ └── payment-api
│ └── handler.js, serverless.yml
│
├── serverless-common.yml
└── .gitlab-ci.yml
所以在服务文件夹中我有几个文件夹(每个文件夹一个 api / lambda)。
我还设置了以下简单的 GitLab CI/CD
image: node:latest
stages:
- deploy
dev:
environment: dev
stage: deploy
before_script:
- npm config set prefix /usr/local
- npm install -g serverless
script:
- serverless deploy --stage dev --verbose
我遇到的问题是我只想部署有更改的 lambda。
我是否应该在服务文件夹中逐个目录访问 运行 每个 api 的 serverless deploy
?:
script:
- cd customer-api
- serverless deploy --stage dev --verbose
- cd ..
- cd payment-api
- serverless deploy --stage dev --verbose
您如何使用 GitLab CI/CD 管理无服务器部署?
关于您的文件夹结构,如果您可以这样做:
│
├── services
│ ├── customer-api
│ │ └── handler.js, customer-api.yml
│ └── payment-api
│ └── handler.js, payment-api.yml
│
├── serverless.yml
└── .gitlab-ci.yml
并在 serverless.yml 主文件中给出这些函数的引用,如下所示:
functions:
customer-api: ${file(./services/customer-api/customer-api.yml)
payment-api: ${file(./services/payment-api/payment-api.yml)
那么你不需要进入每个文件夹来执行serverless.yml文件:
script:
- serverless deploy --stage dev --verbose
将是信息。
有关更多信息,您可以查看 here
我正在使用 Serveless Framework 开发应用程序,我想使用 GitLab CICD 在 AWS 中部署它。
根据最佳实践文档,我设置了一个具有以下结构的存储库:
│
├── services
│ ├── customer-api
│ │ └── handler.js, serverless.yml
│ └── payment-api
│ └── handler.js, serverless.yml
│
├── serverless-common.yml
└── .gitlab-ci.yml
所以在服务文件夹中我有几个文件夹(每个文件夹一个 api / lambda)。 我还设置了以下简单的 GitLab CI/CD
image: node:latest
stages:
- deploy
dev:
environment: dev
stage: deploy
before_script:
- npm config set prefix /usr/local
- npm install -g serverless
script:
- serverless deploy --stage dev --verbose
我遇到的问题是我只想部署有更改的 lambda。
我是否应该在服务文件夹中逐个目录访问 运行 每个 api 的 serverless deploy
?:
script:
- cd customer-api
- serverless deploy --stage dev --verbose
- cd ..
- cd payment-api
- serverless deploy --stage dev --verbose
您如何使用 GitLab CI/CD 管理无服务器部署?
关于您的文件夹结构,如果您可以这样做:
│
├── services
│ ├── customer-api
│ │ └── handler.js, customer-api.yml
│ └── payment-api
│ └── handler.js, payment-api.yml
│
├── serverless.yml
└── .gitlab-ci.yml
并在 serverless.yml 主文件中给出这些函数的引用,如下所示:
functions:
customer-api: ${file(./services/customer-api/customer-api.yml)
payment-api: ${file(./services/payment-api/payment-api.yml)
那么你不需要进入每个文件夹来执行serverless.yml文件:
script:
- serverless deploy --stage dev --verbose
将是信息。 有关更多信息,您可以查看 here