Skip to main content

Configurar una fuente de publicación para tu sitio de Páginas de GitHub

Puedes configurar tu sitio de GitHub Pages para que se publique cuando se inserten cambios en una rama específica, o bien puedes escribir un flujo de trabajo de GitHub Actions para que publique el sitio.

Who can use this feature

People with admin or maintainer permissions for a repository can configure a publishing source for a GitHub Pages site.

GitHub Pages se encuentra disponible en los repositorios públicos con GitHub Free y con GitHub Free para las organizaciones, y en los repositorios públicos y privados con GitHub Pro, GitHub Team, GitHub Enterprise Cloud, y GitHub Enterprise Server. Para más información, vea "Productos de GitHub".

Acerca de las fuentes de publicación

Puedes publicar el sitio cuando se inserten cambios en una rama específica o puedes escribir un flujo de trabajo de GitHub Actions para publicar el sitio.

Si no necesitas ningún control sobre el proceso de creación del sitio, se recomienda publicar el sitio cuando se inserten cambios en una rama específica. Puedes especificar qué rama y carpeta usar como origen de publicación. La rama de origen puede ser cualquier rama del repositorio y la carpeta de origen puede ser la raíz del repositorio (/) de la rama de origen o una carpeta /docs de la rama de origen. Cuando se insertan cambios en la rama de origen, los cambios en la carpeta de origen se publicarán en el sitio de GitHub Pages.

Si quieres usar un proceso de compilación distinto de Jekyll o no quieres que una rama dedicada contenga los archivos estáticos compilados, se recomienda escribir un flujo de trabajo de GitHub Actions para publicar el sitio. GitHub proporciona flujos de trabajo de inicio para escenarios comunes de publicación para ayudarte a escribir el flujo de trabajo.

Advertencia: Los sitios de GitHub Pages están disponibles públicamente en Internet, incluso si el repositorio del sitio es privado. Si tienes datos confidenciales en el repositorio del sitio, tal vez te interese eliminarlos antes de publicarlo. Para más información, vea "Acerca de los repositorios".

Publicación desde una rama

  1. Asegúrate de que la rama que quieres utilizar como fuente de publicación ya exista en tu repositorio.

  2. En GitHub, navega al repositorio de tu sitio. 1. Debajo del nombre del repositorio, haz clic en Configuración. Botón de configuración del repositorio

  3. In the "Code and automation" section of the sidebar, click Pages.

  4. En "Compilación e implementación", en "Origen", selecciona Implementar desde una rama.

  5. En "Compilación e implementación", en "Rama", usa el menú desplegable Ninguno o Rama y selecciona una fuente de publicación.

    Menú desplegable para seleccionar una fuente de publicación

  6. Opcionalmente, utiliza el menú desplegable para seleccionar una carpeta para tu fuente de publicación. Menú desplegable para seleccionar una carpeta para una fuente de publicación

  7. Haga clic en Save(Guardar). Botón para guardar los cambios en la configuración de la fuente de publicación

Solución de problemas de publicación desde una rama

Nota: Si publicas desde una rama y el sitio no se ha publicado automáticamente, asegúrate de que alguien con permisos de administrador y una dirección de correo electrónico verificada haya insertado en la fuente de publicación.

Si elige la carpeta docs en cualquier rama como origen de publicación y después quita la carpeta /docs de esa rama en el repositorio, el sitio no se compilará y obtendrá un mensaje de error de compilación de página sobre una carpeta /docs que falta. Para más información, vea "Solución de errores de compilación de Jekyll para sitios de GitHub Pages".

Tu sitio de GitHub Pages siempre se desplegará con una ejecución de flujo de trabajo de GitHub Actions, incluso si configuraste tu sitio de GitHub Pages para que compilara utilizando una herramienta de IC distinta. La mayoría de los flujos de trabajo de CI externos se "implementan" en GitHub Pages mediante la confirmación de la salida de compilación en la rama gh-pages del repositorio y normalmente incluyen un archivo .nojekyll. Cuando esto sucede, el flujo de trabajo de GitHub Actions detectará el estado en el que la rama no necesita un paso de compilación y ejecutará solo los pasos necesarios para desplegar el sitio a los servidores de GitHub Pages.

Para encontrar errores potenciales en ya sea la compilación o el despliegue, puedes verificar la ejecución de flujo de trabajo para tu sitio de GitHub Pages si revisas las ejecuciones de flujo de trabajo del repositorio. Para más información, vea "Visualización del historial de ejecución de flujos de trabajo". Para más información sobre cómo volver a ejecutar el flujo de trabajo en caso de error, vea "Nueva ejecución de flujos de trabajo y trabajos".

Publicación con un flujo de trabajo de GitHub Actions personalizado

Nota: La publicación del sitio de GitHub Pages con un flujo de trabajo de GitHub Actions personalizado está en versión beta y está sujeta a cambios.

Para configurar el sitio para publicarlo con GitHub Actions:

  1. En GitHub, navega al repositorio de tu sitio. 1. Debajo del nombre del repositorio, haz clic en Configuración. Botón de configuración del repositorio

  2. In the "Code and automation" section of the sidebar, click Pages.

  3. En "Compilación e implementación", en "Origen", selecciona Acciones de GitHub.

  4. GitHub sugerirá varios flujos de trabajo de inicio. Si ya tienes un flujo de trabajo para publicar el sitio, puedes omitir este paso. De lo contrario, elige una de las opciones para crear un flujo de trabajo de GitHub Actions. Para obtener más información sobre cómo crear el flujo de trabajo personalizado, consulta "Creación de un flujo de trabajo de GitHub Actions personalizado para publicar el sitio".

    GitHub Pages no asocia un flujo de trabajo específico a la configuración de GitHub Pages, pero la configuración de GitHub Pages se vinculará a la ejecución del flujo de trabajo que implementó más recientemente el sitio.

Creación de un flujo de trabajo de GitHub Actions personalizado para publicar el sitio

Para obtener más información sobreGitHub Actions, consulta "Acciones".

Al configurar el sitio para publicarlo con GitHub Actions, GitHub sugerirá flujos de trabajo de inicio para los escenarios comunes de publicación. El flujo general de un flujo de trabajo es el siguiente:

  1. Desencadenarse cada vez que haya una inserción en la rama predeterminada del repositorio o cada vez que se abra, se vuelva a abrir o se actualice una solicitud de incorporación de cambios que tenga como destino la rama predeterminada.
  2. Usar la acción actions/checkout para extraer del repositorio su contenido.
  3. Si el sitio lo requiere, compilar los archivos de sitio estáticos.
  4. Usar la acción actions/upload-pages-artifact para cargar los archivos estáticos como un artefacto.
  5. Si el flujo de trabajo se desencadenó por una inserción en la rama predeterminada, usar la acción actions/deploy-pages para implementar el artefacto. Este paso se omite si el flujo de trabajo se desencadenó mediante una solicitud de incorporación de cambios.

Los flujos de trabajo de inicio usan un entorno de implementación denominado github-pages. Si el repositorio aún no incluye un entorno denominado github-pages, este se creará automáticamente. Se recomienda agregar una regla de protección del entorno para que solo se pueda implementar en este entorno la rama predeterminada. Para más información, vea "Uso de entornos para la implementación".

Nota: Un archivo CNAME del archivo de repositorio no agrega ni quita automáticamente un dominio personalizado. En su lugar, debes configurar el dominio personalizado a través de la configuración del repositorio o a través de la API. Para obtener más información, consulta "Configurar un dominio personalizado para tu sitio de GitHub Pages" y la documentación de referencia de la API de GitHub Pages.

Solución de problemas en la publicación con un flujo de trabajo de GitHub Actions personalizado

Para obtener información sobre cómo solucionar problemas en el flujo de trabajo de GitHub Actions, consulta "Acerca de la supervisión y la solución de problemas".