> For the complete documentation index, see [llms.txt](https://docs.discloud.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.discloud.com/api-and-integrations/github-integration.md).

# Integração com GitHub

### 🧭 Visão Geral

A **Integração com GitHub** permite que você faça deploy de aplicações diretamente de um repositório GitHub para a Discloud, sem necessidade de enviar ZIPs manualmente. A Discloud puxa o código do seu repositório, lê o [`discloud.config`](https://github.com/discloud/docs/blob/portuguese/configurations/discloud.config) na raiz e compila e inicia sua aplicação automaticamente.

Este é o fluxo recomendado para equipes e para quem usa controle de versão como parte do processo de desenvolvimento.

***

### ✅ Pré-requisitos

Antes de conectar o GitHub, certifique-se de que o seguinte está em ordem:

{% hint style="warning" %}
**Mesma conta GitHub** - A conta GitHub que você usa para **fazer login na Discloud** deve ser a **mesma conta que possui o repositório**. Se você entrar com uma conta GitHub diferente, seus repositórios não aparecerão na integração.
{% endhint %}

{% hint style="success" %}
[**`discloud.config`**](https://github.com/discloud/docs/blob/portuguese/configurations/discloud.config) **na raiz** - Este arquivo deve existir na raiz do seu repositório. Sem ele, o upload falhará na validação. Saiba mais sobre a raiz do projeto.
{% endhint %}

{% hint style="danger" %}
**Nunca faça commit de arquivos** [**`.env`**](/faq/general-questions/.env-file.md) - Seu arquivo `.env` deve estar listado no `.gitignore`. Os segredos de produção são definidos diretamente na Discloud durante o passo de upload, não através do repositório.
{% endhint %}

***

### 🔗 Conecte sua conta GitHub

{% stepper %}
{% step %}
**🔑 Abra a aba de Integração GitHub**

Vá para o [Painel da Discloud](https://discloud.com/dashboard) e abra a aba **Integração GitHub**.

Clique em **Login** e autorize a Discloud via GitHub OAuth. Isso permite que a Discloud leia seus repositórios.

<figure><img src="/files/dFddzh4QDa2S9ewi9xQO" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**⚙️ Configure o acesso ao repositório**

Após autorizar, clique em **Configurar** na página de Integração GitHub. O GitHub pedirá que você escolha quais repositórios a Discloud pode acessar:

* 🔓 **Todos os repositórios** - A Discloud pode acessar todos os repositórios da sua conta
* 🔒 **Repositórios selecionados** - Escolha apenas os repositórios específicos que deseja fazer deploy

{% hint style="info" %}
Você pode alterar isso a qualquer momento voltando para a aba **Integração GitHub** e clicando em **Configurar** novamente, ou gerenciando o App GitHub da Discloud diretamente nas configurações da sua conta GitHub.
{% endhint %}
{% endstep %}
{% endstepper %}

***

### 🚀 Faça deploy pelo GitHub

{% stepper %}
{% step %}
**🚀 Inicie um novo upload**

Vá para o [Painel da Discloud](https://discloud.com/dashboard), clique em **+ Upload** no canto superior direito e selecione **GitHub** no menu.

<figure><img src="/files/Don8aC1xNYLigwjXxiAA" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**🛠️ Configure o seu deploy**

**Repositório e branch** - Escolha o repositório e a branch da qual deseja fazer deploy. A Discloud vai puxar o commit mais recente dessa branch.

**Variáveis de ambiente** - Adicione os segredos de produção aqui no formato `CHAVE=VALOR`, um por linha.

<figure><img src="/files/TrN4svaEft6s9FuO8pcK" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
**Este é o único lugar para definir segredos de produção.** Arquivos `.env` não devem ser commitados no GitHub. A Discloud armazena esses valores com segurança e gera um arquivo `.env` na raiz da sua aplicação em tempo de execução, mantendo-os completamente fora do repositório.
{% endhint %}

{% hint style="warning" %}
Se você esquecer de adicionar uma variável aqui, sua aplicação vai iniciar sem ela e pode travar ou se comportar de forma incorreta. Para atualizar as variáveis de ambiente depois, você pode editá-las diretamente no painel caso tenha um plano pago. Caso contrário, será necessário fazer um novo commit com o conteúdo completo e atualizado do `.env`.
{% endhint %}
{% endstep %}

{% step %}
**✅ Confirme e faça o deploy**

Revise suas configurações e clique em **Upload**. A Discloud irá:

1. Puxar o código do repositório e branch selecionados
2. Validar seu `discloud.config`
3. Instalar dependências e executar o comando de build (se configurado)
4. Iniciar sua aplicação

<figure><img src="/files/NZzjCwePOWvmQOwXm2mV" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

***

### 🔁 Atualizando sua aplicação

A Discloud faz o redeploy da sua aplicação automaticamente sempre que você fizer push de novos commits na branch configurada durante o upload inicial. Nenhuma ação manual é necessária.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.discloud.com/api-and-integrations/github-integration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
