CLI tool for Serverless Plus
- Tencent Cloud
- AWS
- Aliyun
$ npm i @slsplus/cli -g
$ slsplus -h
Usage: slsplus [options] [command]
Options:
-v, --version output the current version
-h, --help display help for command
Commands:
config Config for slsplus cli
clone <source> [destination] clone a repository into a newly created directory
parse [options] parse serverless config file with costomize and environment variables replacement
faas Operation for faas
app Operation for serverless application
migrate [options] Migrate old serverless config to uniform config
init [options] Initialize command for serverless project
bundle [options] Bundle command for serverless project
help [command] display help for command
Example call:
$ slsplus --help
Notice: Below examples will use
sp
instead ofslsplus
.
Config credentils for vendors:
$ sp config
Initialize command for serverless project:
$ sp init -u
It will start an UI config server for serverless project.
$ sp clone https://github.com/serverless-plus/cli
Before using faas
command, you should run sp config
to config tencent cloud credentilas.
Get faas logs:
$ sp faas logs --name=scfdemo --limit=1
Invoke faas:
$ sp faas invoke --name=scfdemo
Invoke with event:
$ sp faas invoke --name=scfdemo --event=./event.json
Warm up faas:
# name parameter is the name of cloud function
$ sp faas warm --name=scfdemo
Using bundle
command, you can bundle your project with dependencies into one file, so you need not to upload node_modules
directory.
$ sp bundle --input=app.js --file=./sls.js
If you do not pass --file
option, it will be bundled to sls.prod.js
by default.
Before using app
command, you should run sp config
to config tencent cloud credentilas.
Warm up serverless application:
# name parameter is the name configured in serverless.yml
$ sp app warm --app=appname --name=scfdemo --stage=dev
$ sp parse -o -s '{"src":"./"}'
Parse command will parse serverless config file with costomize and environment variables replacement.
For example, before is:
inputs:
region: ${env:REGION}
If process.env.REGION=ap-guangzhou
, after parsing, the serverless.yml
will be:
inputs:
src: ./
region: ap-guangzhou
$ slsplus migrate
This command will auto migrate your old yaml config to latest version.
All git commit
mesage must follow below syntax:
type(scope?): subject #scope is optional
support type:
- feat: add new feature
- fix: fix bug or patch feature
- ci: CI
- chore: modify config, nothing to do with production code
- docs: create or modifiy documents
- refactor: refactor project
- revert: revert
- test: test
Most of time, we just use feat
and fix
.
For CI test, should copy .env.example
to .env.test
, then config below environment variables to yours:
# tencent credentials
TENCENT_SECRET_ID=xxx
TENCENT_SECRET_KEY=xxx
# cos url for project code download in CI environment
CODE_URL_COS=xxx
# git ulr for git project
CODE_URL_GIT=xxx
# nextjs
CODE_URL_COS_NEXTJS=xxx
STATIC_URL_NEXTJS=xxx
# nuxtjs
CODE_URL_COS_NUXTJS=xxx
STATIC_URL_NUXTJS=xxx
MIT License
Copyright (c) 2020 Serverless Plus