Skip to main content

Configurar o cache de ferramentas em executores auto-hospedados sem acesso à internet

Para usar as ações actions/setup incluídas em executores auto-hospedados sem acesso à Internet, primeiro você precisa popular o cache de ferramenta do executor dos fluxos de trabalho.

Observação

No momento, não há suporte para executores hospedados no no Enterprise Server. Você pode ver mais informações sobre o suporte futuro planejado no public roadmap.

Sobre as ações de configuração incluídas e o cache da ferramenta do executor

O Actions em Enterprise Server foi projetado para funcionar em ambientes sem acesso total à Internet. Por padrão, os fluxos de trabalho não podem usar ações de .com e Marketplace.

As maioria das oficiais de autoria de mais são automaticamente agrupadas com Enterprise Server. No entanto, os executores auto-hospedados sem acesso à Internet exigem alguma configuração para usar as ações actions/setup-LANGUAGE incluídas, como setup-node.

As ações actions/setup-LANGUAGE normalmente precisam ter acesso à Internet para baixar os binários do ambiente necessários no cache de ferramentas do executor. Os executores auto-hospedados sem acesso à internet não podem fazer o download dos binários. Portanto, você deve preencher manualmente o cache de ferramentas no executor.

Você pode preencher o cache da ferramenta do executor, executando um fluxo de trabalho de Actions no .com que faz o upload de um cache de ferramenta do executor hospedado em como um artefato, que você pode transferir e extrair no seu executor auto-hospedado sem conexão à internet.

Observação

Só é possível usar um cache de ferramentas do executor hospedado no em um executor auto-hospedado que tenha uma arquitetura e um sistema operacional idênticos. Por exemplo, se você estiver usando um executor ubuntu-22.04 hospedado no para gerar um cache de ferramentas, o executor auto-hospedado precisará ser um computador Ubuntu 22.04 de 64 bits. Para obter mais informações sobre executores hospedados no , confira Usar executores hospedados no .

Pré-requisitos

  • Determinar quais ambientes de desenvolvimento seus executores auto-hospedados precisarão. O exemplo a seguir demonstra como preencher um cache de ferramentas para a ação setup-node usando o Node.js versões 14 e 16.
  • Acesso a um repositório no .com que pode ser usado para executar um fluxo de trabalho.
  • Acesso ao sistema de arquivos do executor auto-hospedado para preencher a pasta de cache da ferramenta.

Preencher o cache de ferramentas para um executor auto-hospedado

  1. Em .com, acesse um repositório que você pode usar para executar um fluxo de trabalho de Actions.

  2. Crie um arquivo de fluxo de trabalho na pasta ./workflows do repositório que carrega um artefato que contém o cache de ferramentas do executor hospedado no .

    O exemplo a seguir demonstra um fluxo de trabalho que carrega o cache de ferramentas para um ambiente Ubuntu 22.04, usando a ação setup-node com o Node.js versões 14 e 16.

    name: Upload Node.js 14 and 16 tool cache
    on: push
    jobs:
      upload_tool_cache:
        runs-on: ubuntu-22.04
        steps:
          - name: Clear any existing tool cache
            run: |
              mv "${{ runner.tool_cache }}" "${{ runner.tool_cache }}.old"
              mkdir -p "${{ runner.tool_cache }}"
          - name: Setup Node 14
            uses: actions/setup-node@v4
            with:
              node-version: 14.x
          - name: Setup Node 16
            uses: actions/setup-node@v4
            with:
              node-version: 16.x
          - name: Archive tool cache
            run: |
              cd "${{ runner.tool_cache }}"
              tar -czf tool_cache.tar.gz *
          - name: Upload tool cache artifact
            uses: actions/upload-artifact@v3
            with:
              path: ${{runner.tool_cache}}/tool_cache.tar.gz
    
  3. Faça o download do artefato do cache da ferramenta da execução do fluxo de trabalho. Para ver instruções sobre como baixar artefatos, confira Fazer o download de artefatos do fluxo de trabalho.

  4. Transfira o artefato de cache das ferramentas para o seu executor hospedado e extraia-o para o diretório de cache das ferramentas locais. O diretório de cache de ferramenta padrão é RUNNER_DIR/_work/_tool. Se o executor ainda não processou nenhum trabalho, talvez seja necessário criar os diretórios _work/_tool.

    Após extrair o artefato de cache da ferramenta carregado no exemplo acima, você deve ter uma estrutura de diretório no seu executor auto-hospedado semelhante ao exemplo a seguir:

    RUNNER_DIR
    ├── ...
    └── _work
        ├── ...
        └── _tool
            └── node
                ├── 14.21.3
                │   └── ...
                └── 16.16.0
                    └── ...
    

O executor auto-hospedado sem acesso à Internet já conseguirá usar a ação setup-node. Se você tiver problemas, certifique-se de ter preenchido o cache da ferramentas correto para seus fluxos de trabalho. Por exemplo, caso você precise usar a ação setup-python, preencha o cache de ferramentas com o ambiente do Python que deseja usar.