> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.sparkedhost.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Cómo desplegar automáticamente desde GitHub a cPanel

### Cómo desplegar automáticamente desde GitHub a cPanel

Mejora tu desarrollo web automatizando los despliegues de GitHub a cPanel. Con [Sam Kirkland's FTP Deploy GitHub Action](https://github.com/SamKirkland/FTP-Deploy-Action), puedes tener una transición suave de la codificación a la producción, lo que te permite centrarte en tu código, no en los problemas de despliegue.

|| Por favor, tenga en cuenta que este método requiere que tenga una cuenta FTP en la carpeta `public_html` o subdominio ya creada para el Despliegue Automático. Usted puede seguir [nuestro artículo de como crear una cuenta FTP en Cpanel](https://help.sparkedhost.com/en/article/how-to-add-a-ftp-account-on-cpanel-16zy80o/).

### Cómo desplegar automáticamente desde GitHub a cPanel

1. En tu Repositorio GitHub, ve a la Configuración del Repositorio y luego a los Secretos y Variables de las Acciones

![](https://storage.crisp.chat/users/helpdesk/website/a79efd0b48a91800/image2023-12-21174354813_132n6tw.png)

2. Crear 3 Nuevos Secretos de Repositorio:
| Nombre secreto| Valor secreto|
| --- | --- | 
| FTP_SERVER | Establezca el dominio de su sitio web, para este artículo vamos a configurarlo para el dominio `sparkedhost.rob0520.xyz`. | 
| FTP_USERNAME | Introduzca el nombre de usuario de la cuenta FTP|
| FTP_PASSWORD | Establecer la contraseña de la cuenta FTP|

![](https://storage.crisp.chat/users/helpdesk/website/a79efd0b48a91800/image_1ricqg9.png)

![](https://storage.crisp.chat/users/helpdesk/website/a79efd0b48a91800/image_2awa30.png)

3. Ve a las Acciones del Repositorio y haz clic en el hipervínculo `crea un flujo de trabajo tú mismo`. Si previamente has hecho una Acción GitHub diferente, haz clic en el botón "Nuevo flujo de trabajo" y deberías poder ver el hipervínculo.

![](https://storage.crisp.chat/users/helpdesk/website/a79efd0b48a91800/image_16fvvy2.png)

4. Copie el siguiente código y péguelo en el contenido del archivo Acción, luego Confirme los cambios.

```
on: push
name: 🚀 Deploy website on push
jobs:
  web-deploy:
    name: 🎉 Deploy
    runs-on: ubuntu-latest
    steps:
    - name: 🚚 Get latest code
      uses: actions/checkout@v3
    
    - name: 📂 Sync files
      uses: SamKirkland/FTP-Deploy-Action@v4.3.4
      with:
        server: ${{ secrets.FTP_SERVER }}
        username: ${{ secrets.FTP_USERNAME }}
        password: ${{ secrets.FTP_PASSWORD }}
```

Opcionalmente, si quieres excluir ciertas carpetas o archivos del Despliegue Automático, digamos una carpeta llamada `logs` y un archivo llamado `notes.txt` por ejemplo. Puedes pegar las siguientes líneas al final de la Acción:

```
exclude: |
    **/.git*
    **/.git*/**
    **/logs/**
    notes.txt
```

| Si necesitas excluir ciertas carpetas o archivos, asegúrate de listar también `**/.git*` y `**/.git*/**` como en el caso anterior, ya que la clave `exclude` sobrescribe los valores por defecto.

Así que se verá algo como esto:

```
on: push
name: 🚀 Deploy website on push
jobs:
  web-deploy:
    name: 🎉 Deploy
    runs-on: ubuntu-latest
    steps:
    - name: 🚚 Get latest code
      uses: actions/checkout@v3
    
    - name: 📂 Sync files
      uses: SamKirkland/FTP-Deploy-Action@v4.3.4
      with:
        server: ${{ secrets.FTP_SERVER }}
        username: ${{ secrets.FTP_USERNAME }}
        password: ${{ secrets.FTP_PASSWORD }}
        exclude: |
            **/.git*
            **/.git*/**
            **/logs/**
            notes.txt
```

Ahora, cada vez que realices cambios en el Repositorio. ¡Se desplegarán automáticamente los cambios en su sitio web!

---
            
Si necesita más ayuda, cree un ticket [aquí](https://billing.sparkedhost.com/submitticket.php).
                            
---
                            
Hecho por: Steven C.