Pular para o conteúdo principal

Instalar e Validar

Os binários de release do gfrm rodam em máquinas limpas. Você não precisa de Dart, FVM, Node ou Yarn no host de destino.

Verifique os checksums

# Linux ou macOS com sha256sum
sha256sum --check checksums-sha256.txt

# macOS com shasum
shasum -a 256 --check checksums-sha256.txt

macOS Intel

unzip gfrm-macos-intel.zip -d ./gfrm-macos-intel
cd ./gfrm-macos-intel
chmod +x ./gfrm
./gfrm --help

macOS Apple Silicon

unzip gfrm-macos-silicon.zip -d ./gfrm-macos-silicon
cd ./gfrm-macos-silicon
chmod +x ./gfrm
./gfrm --help

Linux

unzip gfrm-linux.zip -d ./gfrm-linux
cd ./gfrm-linux
chmod +x ./gfrm
./gfrm --help

Windows (PowerShell)

Expand-Archive .\gfrm-windows.zip -DestinationPath .\gfrm-windows
.\gfrm-windows\gfrm.exe --help

Notas para macOS

  • Escolha intel ou silicon conforme o tipo da máquina.
  • Se o Gatekeeper bloquear a execução após descompactar, use o fallback:
xattr -d com.apple.quarantine ./gfrm

Para assinatura e notarização, veja Artefatos de Release do macOS.

Docker

Execute gfrm sem instalar Dart, FVM ou qualquer runtime no host. Apenas Docker é necessário.

Build da imagem (a partir da raiz do repositório clonado):

docker build -t gfrm .

Executar uma migração:

docker run --rm \
-v "$(pwd)/migration-results:/app/migration-results" \
-e GITHUB_TOKEN="$GITHUB_TOKEN" \
-e GITLAB_TOKEN="$GITLAB_TOKEN" \
gfrm migrate \
--source-provider gitlab --source-url https://gitlab.com/owner/repo \
--target-provider github --target-url https://github.com/owner/repo

Monte migration-results/ para que os artefatos persistam após o container encerrar. Passe os tokens via -e — nunca os incorpore na imagem.

Retomar uma execução com falha:

docker run --rm \
-v "$(pwd)/migration-results:/app/migration-results" \
-v "$(pwd)/sessions:/app/sessions" \
-e GITHUB_TOKEN="$GITHUB_TOKEN" \
-e GITLAB_TOKEN="$GITLAB_TOKEN" \
gfrm resume --session-file sessions/last-session.json

Monte sessions/ também para que o arquivo de sessão salvo esteja disponível para retomada.