{"meta":{"title":"Usando fluxos de trabalho personalizados com páginas de GitHub","intro":"Você pode aproveitar GitHub Actions e GitHub Pages criando um arquivo de fluxo de trabalho ou escolhendo entre os fluxos de trabalho predefinidos.","product":"GitHub Pages","breadcrumbs":[{"href":"/pt/pages","title":"GitHub Pages"},{"href":"/pt/pages/getting-started-with-github-pages","title":"Introdução"},{"href":"/pt/pages/getting-started-with-github-pages/using-custom-workflows-with-github-pages","title":"Usar fluxos de trabalho personalizados"}],"documentType":"article"},"body":"# Usando fluxos de trabalho personalizados com páginas de GitHub\n\nVocê pode aproveitar GitHub Actions e GitHub Pages criando um arquivo de fluxo de trabalho ou escolhendo entre os fluxos de trabalho predefinidos.\n\n## Sobre fluxos de trabalho personalizados\n\nFluxos de trabalho personalizados permitem que GitHub Pages sites sejam criados por meio 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 [Configurando uma fonte de publicação para seu site GitHub Pages](/pt/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#publishing-with-a-custom-github-actions-workflow).\n\n## Configurar a ação `configure-pages`\n\nGitHub Actions permite o uso de GitHub Pages por meio da ação `configure-pages`, que também permite coletar diferentes metadados sobre um site. Para obter mais informações, consulte a ação [`configure-pages`](https://github.com/marketplace/actions/configure-github-pages).\n\nPara usar a ação, coloque esse trecho em seu `jobs` no fluxo de trabalho desejado.\n\n```yaml\n- name: Configure GitHub Pages\n  uses: actions/configure-pages@v5\n```\n\nEsta ação oferece suporte à implantação a partir de qualquer gerador de sites estáticos 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 [Usando modelos de fluxo de trabalho](/pt/actions/how-tos/write-workflows/use-workflow-templates).\n\n## Configurar a ação `upload-pages-artifact`\n\nAs ações de `upload-pages-artifact` permitem empacotar e carregar artefatos. O artefato GitHub Pages deve ser um arquivo `gzip` compactado contendo um único arquivo `tar`. O arquivo `tar` 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, consulte a ação [`upload-pages-artifact`](https://github.com/marketplace/actions/upload-github-pages-artifact).\n\nPara usar a ação no fluxo de trabalho atual, coloque esse trecho em `jobs`.\n\n```yaml\n- name: Upload GitHub Pages artifact\n  uses: actions/upload-pages-artifact@v4\n```\n\n## Implantação de GitHub Pages artefatos\n\nA ação `deploy-pages` manipula a configuração necessária para implantar artefatos. Para garantir a funcionalidade adequada, os seguintes requisitos devem ser atendidos:\n\n* O trabalho precisa ter um mínimo de permissões `pages: write` e `id-token: write`.\n* O parâmetro `needs` deve ser definido como o `id` 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.\n* É preciso estabelecer um `environment` para impor regras de proteção de branch/implantação. O ambiente padrão é `github-pages`.\n* Para especificar a URL da página como uma saída, utilize o campo `url:`.\n\nPara obter mais informações, consulte a ação [`deploy-pages`](https://github.com/marketplace/actions/deploy-github-pages-site).\n\n```yaml\n# ...\n\njobs:\n  deploy:\n    permissions:\n      contents: read\n      pages: write\n      id-token: write\n    runs-on: ubuntu-latest\n    needs: jekyll-build\n    environment:\n      name: github-pages\n      url: ${{steps.deployment.outputs.page_url}}\n    steps:\n      - name: Deploy artifact\n        id: deployment\n        uses: actions/deploy-pages@v4\n# ...\n```\n\n## Vincular trabalhos de build e implantação separados\n\nVocê pode vincular seus trabalhos `build` e `deploy` 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 `jobs` você pode definir um trabalho `build` e `deploy` para executar seus trabalhos.\n\n```yaml\n# ...\n\njobs:\n  # Build job\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v6\n      - name: Setup Pages\n        id: pages\n        uses: actions/configure-pages@v5\n      - name: Build with Jekyll\n        uses: actions/jekyll-build-pages@v1\n        with:\n          source: ./\n          destination: ./_site\n      - name: Upload artifact\n        uses: actions/upload-pages-artifact@v4\n\n  # Deployment job\n  deploy:\n    environment:\n      name: github-pages\n      url: ${{steps.deployment.outputs.page_url}}\n    runs-on: ubuntu-latest\n    needs: build\n    steps:\n      - name: Deploy to GitHub Pages\n        id: deployment\n        uses: actions/deploy-pages@v4\n# ...\n```\n\nEm 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.\n\n```yaml\n# ...\n\njobs:\n  # Single deploy job no building\n  deploy:\n    environment:\n      name: github-pages\n      url: ${{steps.deployment.outputs.page_url}}\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v6\n      - name: Setup Pages\n        uses: actions/configure-pages@v5\n      - name: Upload Artifact\n        uses: actions/upload-pages-artifact@v4\n        with:\n          # upload entire directory\n          path: '.'\n      - name: Deploy to GitHub Pages\n        id: deployment\n        uses: actions/deploy-pages@v4\n\n# ...\n```\n\nVocê pode definir seus trabalhos para serem executados em diferentes executores, sequencialmente ou em paralelo. Para saber mais, confira [Escolhendo o que seu fluxo de trabalho faz](/pt/actions/how-tos/write-workflows/choose-what-workflows-do)."}