

# Como usar o GitHub Actions para implantar funções do Lambda
<a name="deploying-github-actions"></a>

Você pode usar o [GitHub Actions](https://github.com/features/actions) para implantar automaticamente funções do Lambda ao enviar alterações de código ou configuração para o seu repositório. A ação [Implantar função do Lambda](https://github.com/aws-actions/aws-lambda-deploy) fornece uma interface YAML declarativa e simples que elimina a complexidade das etapas de implantação manual.

## Exemplo de fluxo de trabalho
<a name="deploying-github-actions-example"></a>

Para configurar a implantação automatizada da função do Lambda, crie um arquivo de fluxo de trabalho no diretório do seu repositório `.github/workflows/`:

**Example Fluxo de trabalho do GitHub Actions para implantação do Lambda**  

```
name: Deploy AWS Lambda

on:
  push:
    branches: 
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    permissions:
      id-token: write # Required for OIDC authentication
      contents: read  # Required to check out the repository
    steps:
      - uses: actions/checkout@v4
      
      - name: Configure AWS credentials
        uses: aws-actions/configure-aws-credentials@v4
        with:
          role-to-assume: arn:aws:iam::123456789012:role/GitHubActionRole
          aws-region: us-east-1
      
      - name: Deploy Lambda Function
        uses: aws-actions/aws-lambda-deploy@v1
        with:
          function-name: my-lambda-function
          code-artifacts-dir: ./dist
```

Esse fluxo de trabalho é executado quando você envia alterações para a ramificação `main`. Ele verifica seu repositório, configura as credenciais da AWS usando o OpenID Connect (OIDC) e implanta sua função usando o código no diretório `./dist`.

Para ver exemplos adicionais, incluindo atualização da configuração da função, implantação por meio de buckets do S3 e validação de dry run, leia o [README do Implantar função do Lambda](https://github.com/aws-actions/aws-lambda-deploy).

## Recursos adicionais
<a name="deploying-github-actions-resources"></a>
+ [Configurar as credenciais do AWS no GitHub Action](https://github.com/aws-actions/configure-aws-credentials)
+ [Configurando o OpenID Connect na AWS](https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services)