Skip to main content

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

Puede configurar su sitio GitHub Pages para que se publique cuando los cambios se envíen a una rama específica, o puede escribir un flujo de trabajo GitHub Actions para publicar su sitio.

¿Quién puede utilizar esta característica?

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

GitHub Pages is available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see "GitHub’s plans."

GitHub Pages now uses GitHub Actions to execute the Jekyll build. When using a branch as the source of your build, GitHub Actions must be enabled in your repository if you want to use the built-in Jekyll workflow. Alternatively, if GitHub Actions is unavailable or disabled, adding a .nojekyll file to the root of your source branch will bypass the Jekyll build process and deploy the content directly. For more information on enabling GitHub Actions, see "Managing GitHub Actions settings for a repository."

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 plantillas de flujo de trabajo para escenarios comunes de publicación a fin de 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 su plan u organización lo permite). Si tienes datos confidenciales en el repositorio del sitio, tal vez te interese eliminarlos antes de publicarlo. Para obtener 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.

  3. En el nombre del repositorio, haz clic en Configuración. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.

    Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Configuración" está resaltada con un contorno naranja oscuro.

  4. En la sección "Código y automatización" de la barra lateral, haz clic en Páginas.

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

  6. En "Compilación e implementación", usa el menú desplegable de rama y selecciona un origen de publicación.

    Captura de pantalla de la configuración de Páginas en un repositorio GitHub. El menú para seleccionar una rama como origen de publicación, etiquetado como "Ninguno", aparece en naranja oscuro.

  7. Opcionalmente, utiliza el menú desplegable de carpeta para seleccionar una carpeta para tu origen de publicación.

    Captura de pantalla de la configuración de Páginas en un repositorio GitHub. El menú para seleccionar una carpeta como origen de publicación, etiquetado como "/(root)", aparece en naranja oscuro.

  8. Haga clic en Save(Guardar).

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

Note: If your repository contains symbolic links, you will need to publish your site using a GitHub Actions workflow. For more information about GitHub Actions, see "Documentación de GitHub Actions."

Notas:

  • 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.

  • Las confirmaciones insertadas por un flujo de trabajo de GitHub Actions que usa GITHUB_TOKEN no desencadenan una compilación de GitHub Pages.

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 obtener más información, vea «Solucionar problemas de errores de compilación de Jekyll para sitios de Páginas de GitHub».

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 obtener más información, vea «Visualizar el historial de ejecución del flujo de trabajo». Para más información sobre cómo volver a ejecutar el flujo de trabajo en caso de error, consulta "Volver a ejecutar flujos de trabajo y jobs".

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

Para configurar el sitio para publicarlo con GitHub Actions:

  1. En GitHub, navega al repositorio de tu sitio.

  2. En el nombre del repositorio, haz clic en Configuración. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.

    Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Configuración" está resaltada con un contorno naranja oscuro.

  3. En la sección "Código y automatización" de la barra lateral, haz clic en Páginas.

  4. En "Compilación e implementación", en "Origen", selecciona GitHub Actions .

  5. GitHub sugerirá varias plantillas de flujo de trabajo. 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 más información sobre GitHub Actions, consulta "Documentación de GitHub Actions".

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

  1. Se desencadena cada vez que hay una inserción en la rama predeterminada del repositorio o cada vez que el flujo de trabajo se ejecuta manualmente desde la pestaña Acciones.
  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.

Las plantillas de flujo de trabajo 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 de implementación para que solo se pueda implementar en este entorno la rama predeterminada. Para obtener más información, vea «Administrar 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, vea «Configurar un dominio personalizado para tu sitio de Páginas de GitHub» y «Puntos de conexión de la API de REST para 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 "Monitorear y solucionar los problemas de los flujos de trabajo".