Github Action for Serverless
This Action wraps the Serverless Framework to enable common Serverless commands.
This project is looking for maintainers!
If you would like to be a maintainer of this project, please reach out to one of the active Serverless organization members to express your interest.
Welcome, and thanks in advance for your help!
Usage
An example workflow to deploy a project with serverless v3:
name: Deploy master branch
on:
push:
branches:
- master
jobs:
deploy:
name: deploy
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
- name: serverless deploy
uses: serverless/[email protected]
with:
args: deploy
env:
SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }}
# or if using AWS credentials directly
# AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
# AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
Usage with serverless plugins
Change your action in this way, according to this issue, thanks to @matthewpoer:
- name: Install Plugin and Deploy
uses: serverless/[email protected]
with:
args: -c "serverless plugin install --name <plugin-name> && serverless deploy"
entrypoint: /bin/sh
Fix "This command can only be run in a Serverless service directory" error
Change your action in this way, according to this issue, thanks to @nikhuber:
- name: Enter dir and deploy
uses: serverless/[email protected]
with:
args: -c "cd ./<your-dir> && serverless deploy"
entrypoint: /bin/sh
Use serverless v1 or v2
Change the action with one of the following:
uses: serverless/github-action@v1
uses: serverless/github-action@v2
License
The Dockerfile and associated scripts and documentation in this project are released under the Apache-2 license.