> ## 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).

# Como realizar automatización de integraciones de Github A Cpanel

Como realizar automatización de integraciones de Github A Cpanel


Mejorar tu desarrollo web automatizando las implementaciones desde GitHub a cPanel es posible con GitHub Action FTP Deploy de Sam Kirkland (https://github.com/SamKirkland/FTP-Deploy-Action). 

Con esta acción, puedes lograr una transición fluida desde la codificación hasta la producción, permitiéndote centrarte en tu código en lugar de los problemas de implementación.

Nota: Ten en cuenta que este método requerirá que ya tengas una cuenta FTP en la carpeta public_html o subdominio creada previamente para la implementación automática. Puedes seguir nuestro artículo sobre Cómo Crear una Cuenta FTP en cPanel (https://help.sparkedhost.com/es/article/como-anadir-una-cuenta-ftp-en-cpanel-15oc451/) para obtener más información sobre cómo hacerlo.


Cómo Implementar Automáticamente desde GitHub a cPanel

1. En tu repositorio de GitHub, ve a Configuración (Settings) del Repositorio y luego a Secrets and Variables.

2. Crea 3 Nuevos Secrets del Repositorio:


SECRET NAME
SECRET VALUE
FTP_SERVER
Establécelo como el dominio de tu sitio web. En este artículo, lo configuraremos para el dominio sparkedhost.rob0520.xyz.
FTP_USERNAME
Establécelo como el nombre de usuario de la cuenta FTP.
FTP_PASSWORD
Establécelo como la contraseña de la cuenta FTP.



3. Ve a Actions del Repositorio y haz clic en el enlace "set up a workflow yourself". Si ya has creado otra GitHub Action previamente, haz clic en el botón "New Workflow" y deberías poder ver el enlace.

4. Copia el siguiente código y pégalo en el archivo de la Action, luego haz Commit Changes.

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 }}


5. Opcionalmente, si deseas excluir ciertas carpetas o archivos de la implementación automática (por ejemplo, una carpeta llamada logs y un archivo llamado notes.txt), puedes agregar las siguientes líneas al final de la acción:

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

Nota: Si necesitas excluir carpetas o archivos específicos, asegúrate también de listar **/.git* y **/.git*/** como se muestra arriba, ya que tener la clave exclude sobrescribe los valores predeterminados.


6. Asi que se vería algo asi:

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


7. Ahora, cada vez que hagas cambios en el repositorio, ¡se implementarán automáticamente en tu sitio web!

---
 Si necesitas alguna ayuda adicional, por favor contáctanos  [aqui](https://billing.sparkedhost.com/submitticket.php)
---
 Hecho por: Antonio G.





