Skip to content
Latchkey

O Que É um Caminho Absoluto? Uma Localização Completa a Partir da Raiz

Um caminho absoluto descreve a localização completa de um arquivo começando na raiz do sistema de arquivos, então ele significa a mesma coisa independentemente do diretório de trabalho.

Um caminho absoluto descreve exatamente onde um arquivo está, começando na raiz do sistema de arquivos. Como não depende de onde você está no momento, ele é inequívoco. Em CI, onde o diretório de trabalho pode mudar entre etapas, caminhos absolutos são uma forma confiável de referenciar arquivos sem surpresas.

O que é um caminho absoluto

Um caminho absoluto começa na raiz: no Linux e no macOS ele começa com /, como em /home/runner/work/repo/build. Ele fixa uma localização independentemente do diretório atual de qualquer processo.

Absoluto versus relativo

Um caminho relativo é interpretado a partir do diretório de trabalho; um caminho absoluto não. /etc/hosts sempre significa o mesmo arquivo, enquanto config/hosts depende de onde você está quando o utiliza.

Quando preferir caminhos absolutos

  • Quando o diretório de trabalho pode mudar ou é incerto.
  • Ao passar um caminho entre etapas ou processos.
  • Quando um script precisa rodar a partir de qualquer localização.

Construindo caminhos absolutos

Scripts frequentemente derivam uma base absoluta com algo como ROOT="$(pwd)" logo no início, e então constroem caminhos a partir dela. Isso evita depender de um cd posterior que poderia mudar o diretório de trabalho.

Caminhos absolutos em CI

Como cada etapa de CI pode começar em um diretório de trabalho diferente, referenciar arquivos por caminho absoluto remove a ambiguidade. Plataformas de CI expõem a raiz do workspace como uma variável de ambiente à qual você pode ancorar caminhos.

Referências estáveis em runners gerenciados

Nos runners da Latchkey, o caminho do workspace é consistente dentro de um job, então ancorar a ele com uma base absoluta mantém as referências de arquivo válidas entre etapas, mesmo quando o diretório de trabalho muda.

Principais conclusões

  • Um caminho absoluto fornece a localização completa de um arquivo começando na raiz.
  • Ele é independente do diretório de trabalho, ao contrário de um caminho relativo.
  • Em CI, caminhos absolutos evitam quebras quando o cwd muda entre etapas.

Guias relacionados