@slsplus/cli
v0.7.2
Published
Serverless Plus CLI tool
Downloads
7
Readme
Serverless Plus CLI
CLI tool for Serverless Plus
Support Cloud Vendors
- [x] Tencent Cloud
- [ ] AWS
- [ ] Aliyun
Installation
$ npm i @slsplus/cli -g
Usage
$ 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
Config credentils for vendors:
$ sp config
init
Initialize command for serverless project:
$ sp init -u
It will start an UI config server for serverless project.
clone
$ sp clone https://github.com/serverless-plus/cli
faas
Before using faas
command, you should run sp config
to config tencent cloud credentilas.
faas logs
Get faas logs:
$ sp faas logs --name=scfdemo --limit=1
faas invoke
Invoke faas:
$ sp faas invoke --name=scfdemo
Invoke with event:
$ sp faas invoke --name=scfdemo --event=./event.json
faas warm
Warm up faas:
# name parameter is the name of cloud function
$ sp faas warm --name=scfdemo
bundle
Before 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.
app
Before using app
command, you should run sp config
to config tencent cloud credentilas.
app warm
Warm up serverless application:
# name parameter is the name configured in serverless.yml
$ sp app warm --app=appname --name=scfdemo --stage=dev
Parse serverless config file
$ 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
Migrate serverless config file
$ slsplus migrate
This command will auto migrate your old yaml config to latest version.
Development
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
.
Test
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
License
MIT License
Copyright (c) 2020 Serverless Plus