AWS Serverless CLI命令参考3--package&deploy

须巴英
2023-12-01

package

用于将serverless.yml转换为cloudformation的json文件,并将json文件,项目源码包等都放入指定目录(默认为.serverless),为项目部署做准备

基本命令

serverless package

命令参数

--stage

缩写为-s

用于指定部署的stage

--region

缩写为-r

用于指定部署的region

--package 

缩写为-p

用于指定将生成的文件存放的位置,默认为当前工作目录的 .serverless文件夹

示例

指定stage和region

serverless package --stage production --region eu-central-1

指定部署文件位置

serverless package --package /path/to/package/directory

deploy

对项目进行部署,执行seveerless deploy命令时会自动首先执行sreverless package命令在当前工作目录的.serverless文件夹下生成部署文件,并使用生成的文件进行部署

基本命令

serverless deploy

命令参数

--config

 缩写为-c

用于指定部署的serverless配置文件的名字,不指定时默认为serverless.yml|.yaml|.js|.json,如果serverless配置文件的名字不是以上几种,则必须使用该参数指定文件名称。

--stage

缩写为-s

用于指定部署阶段

--region

缩写为-r

用于指定部署区域

--package

缩写为-p

用于指定部署文件的位置,使用该参数时会自动跳过deploy阶段中的package阶段,直接使用指定位置的部署文件

--verbose

缩写为-v

在部署过程中显示所有的stack事件信息,同时显示stack的输出

--force

强制部署

--function

缩写为-f 

调用deploy function命令,该参数不能与--package同时使用

--conceal

隐藏输出结果中的secrets,比如API Gateway key values

--aws-s3-accelerate 

启用S3传输加速加快部署文件上传速度,需要有s3:PutAccelerateConfiguration的权限,并可能产生额外的费用

--no-aws-s3-accelerate 

禁用S3传输加速加快部署文件上传速度. 需要有s3:PutAccelerateConfiguration的权限

示例

指定部署的阶段和区域

serverless deploy --stage production --region eu-central-1

使用指定的部署文件进行部署

serverless deploy --package /path/to/package/directory

部署阶段中的packaging 阶段会被跳过,取而代之使用/path/to/package/directory目录的配置文件进行部署

deploy function

部署lambda函数,该命令不会部署整个stack,只是将部署文件中指定的artifact对应的包进行上传并部署,适用于只对代码做了修改以后快速对代码进行部署。

基本命令

serverless deploy function -f functionName

命令参数

--stage

缩写为-s

用于指定部署阶段

--region

缩写为-r

用于指定部署区域

--function

缩写为 -f 

用于指定部署的lambda 函数的名字

--update-config

缩写为-u

只部署Lambda-level的配置,比如handler, timeout,memorySize等

示例

默认部署

serverless deploy function --function helloWorld

指定部署的阶段和区域Deployment with stage and region options

serverless deploy function --function helloWorld --stage dev --region us-east-1

只部署配置修改

serverless deploy function --function helloWorld --update-config

deploy list

显示当前部署信息。

基本命令

sls deploy list用于显示部署信息

$ serverlss deploy list
Serverless: Listing deployments:
Serverless: -------------
Serverless: Timestamp: 1591700725669
Serverless: Datetime: 2020-06-09T11:05:25.669Z/target
Serverless: Files:
Serverless: - hue-timeline-saas-lambda.jar
Serverless: -------------
Serverless: Timestamp: 1591757508696
Serverless: Datetime: 2020-06-10T02:51:48.696Z
Serverless: Files:
Serverless: - compiled-cloudformation-template.json
Serverless: -------------
Serverless: Timestamp: 1591757508696
Serverless: Datetime: 2020-06-10T02:51:48.696Z/target
Serverless: Files:
Serverless: - hue-timeline-saas-lambda.jar
Serverless: -------------
Serverless: Timestamp: 1591760369588
Serverless: Datetime: 2020-06-10T03:39:29.588Z
Serverless: Files:
Serverless: - compiled-cloudformation-template.json
Serverless: -------------
Serverless: Timestamp: 1591760369588
Serverless: Datetime: 2020-06-10T03:39:29.588Z/target
Serverless: Files:
Serverless: - hue-timeline-saas-lambda.jar

sls deploy list functions用于显示部署的lambda函数的信息


$ serverless deploy list functions
Serverless: Listing functions and their last 5 versions:
Serverless: -------------
Serverless: chenlu3-timeline-SQSEventRequestHandler: $LATEST

命令参数

--stage

缩写为-s

用于指定显示部署信息的阶段

--region

缩写为-r

用于指定显示部署信息的区域

参考

https://www.serverless.com/framework/docs/providers/aws/cli-reference/package/

https://www.serverless.com/framework/docs/providers/aws/cli-reference/deploy/

https://www.serverless.com/framework/docs/providers/aws/cli-reference/deploy-function/

https://www.serverless.com/framework/docs/providers/aws/cli-reference/deploy-list/

 类似资料: