Skip to main content

Usando fluxos de trabalho personalizados com páginas de GitHub

Você pode aproveitar o uso de GitHub Actions e GitHub Pages criando um arquivo de fluxo de trabalho ou escolhendo entre os fluxos de trabalho predefinidos.

Quem pode usar esse recurso?

O GitHub Pages está disponível em repositórios públicos com o GitHub Free e o GitHub Free para organizações, e em repositórios públicos e privados com o GitHub Pro, o GitHub Team, o GitHub Enterprise Cloud e o GitHub Enterprise Server. Para saber mais, confira Planos do GitHub.

Sobre fluxos de trabalho personalizados

Os fluxos de trabalho personalizados permitem que sites do GitHub Pages sejam criados por meio do uso de GitHub Actions. Você ainda pode selecionar o branch que deseja usar por meio do arquivo de fluxo de trabalho, mas pode fazer muito mais com o uso de fluxos de trabalho personalizados. Para começar a usar fluxos de trabalho personalizados, primeiro habilite-os para o repositório atual. Para saber mais, confira AUTOTITLE.

Configurar a ação

GitHub Actions permite o uso do GitHub Pages por meio da ação , que também permite coletar metadados diferentes sobre um site. Para obter mais informações, consulte a ação .

Para usar a ação, coloque esse trecho em seu no fluxo de trabalho desejado.

- name: Configure GitHub Pages
  uses: actions/configure-pages@v5

Essa ação ajuda a dar suporte à implementação a partir de qualquer gerador de site estático para GitHub Pages. Para tornar esse processo menos repetitivo, você pode usar modelos de fluxo de trabalho para alguns dos geradores de site estático mais usados. Para saber mais, confira AUTOTITLE.

Configurar a ação

As ações permitem empacotar e enviar artefatos. O artefato GitHub Pages deve ser um arquivo compactado contendo um único arquivo. O arquivo deve ter menos de 10 GB de tamanho e não deve conter nenhum link simbólico ou físico. Para obter mais informações, veja os detalhes da ação.

Para usar a ação no fluxo de trabalho atual, coloque esse trecho em .

- name: Upload GitHub Pages artifact
  uses: actions/upload-pages-artifact@v4

Implantar artefatos do GitHub Pages

A ação realiza a configuração necessária para a implantação de artefatos. Para garantir a funcionalidade adequada, os seguintes requisitos devem ser atendidos:

  • O trabalho precisa ter um mínimo de permissões e .
  • O parâmetro deve ser definido como o da etapa de build. Não definir esse parâmetro pode resultar em uma implantação independente que pesquisa continuamente um artefato que não foi criado.
  • É preciso estabelecer um para impor regras de proteção de branch/implantação. O ambiente padrão é .
  • Para especificar a URL da página como uma saída, utilize o campo .

Para obter mais informações, veja a ação.

# ...

jobs:
  deploy:
    permissions:
      contents: read
      pages: write
      id-token: write
    runs-on: ubuntu-latest
    needs: jekyll-build
    environment:
      name: github-pages
      url: ${{steps.deployment.outputs.page_url}}
    steps:
      - name: Deploy artifact
        id: deployment
        uses: actions/deploy-pages@v4
# ...

Vincular trabalhos de build e implantação separados

Você pode vincular seus trabalhos e em um único arquivo de fluxo de trabalho, eliminando a necessidade de criar dois arquivos separados para obter o mesmo resultado. Para começar a usar o arquivo de fluxo de trabalho, em você pode definir um trabalho e para executar seus trabalhos.

# ...

jobs:
  # Build job
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v5
      - name: Setup Pages
        id: pages
        uses: actions/configure-pages@v5
      - name: Build with Jekyll
        uses: actions/jekyll-build-pages@v1
        with:
          source: ./
          destination: ./_site
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v4

  # Deployment job
  deploy:
    environment:
      name: github-pages
      url: ${{steps.deployment.outputs.page_url}}
    runs-on: ubuntu-latest
    needs: build
    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4
# ...

Em determinados casos, você pode optar por combinar tudo em um único trabalho, especialmente se não houver necessidade de um processo de build. Consequentemente, você se concentraria apenas na etapa de implantação.

# ...

jobs:
  # Single deploy job no building
  deploy:
    environment:
      name: github-pages
      url: ${{steps.deployment.outputs.page_url}}
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v5
      - name: Setup Pages
        uses: actions/configure-pages@v5
      - name: Upload Artifact
        uses: actions/upload-pages-artifact@v4
        with:
          # upload entire directory
          path: '.'
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4

# ...

Você pode definir seus trabalhos para serem executados em diferentes executores, sequencialmente ou em paralelo. Para saber mais, confira AUTOTITLE.