DEV Community

Cover image for Publicando aplicações serverless com github actions
Tállyto Rodrigues
Tállyto Rodrigues

Posted on • Updated on

Publicando aplicações serverless com github actions

Publicar uma aplicação serverless framework com github actions é uma tarefa bem simples, basta você criar um arquivo de deploy na raiz do seu projeto

Ok mas como fazer isso?

Primeiro você deve criar uma pasta chamada .github na raiz do seu projeto

mkdir .github
Enter fullscreen mode Exit fullscreen mode

Depois navegar até essa pasta e criar outra chamada workflows onde vão ficar seus arquivos de deploy

cd .github
mkdir workflows
Enter fullscreen mode Exit fullscreen mode

Dentro da pasta você tem que criar um arquivo .yml que vai ter os as configurações para publicação do seu projeto, no meu caso criei um arquivo chamado serverless-publish.yml

touch serverless-publish.yml
Enter fullscreen mode Exit fullscreen mode

Dentro do arquivo você vai copiar as seguintes configurações

name: serverless-deploy

on:
  push:
    branches:
      - master

jobs:
  deploy:
    name: deploy
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [14.x]
    steps:
    - uses: actions/checkout@v2
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v1
      with:
        node-version: ${{ matrix.node-version }}
    - run: npm ci
    - name: serverless deploy
      uses: serverless/github-action@master
      with:
        args: deploy --stage devel
      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 }}
Enter fullscreen mode Exit fullscreen mode

Depois de criado o arquivo serverless-publish.yml dentro de .github/workflows

Agora é só configurar as variáveis de ambiente

Config

Pronto sempre que fizer um commit na master sua aplicação vai ser publicada na AWS automaticamente

Alt Text

Top comments (0)