ci: configura deploy automatico para k3s via forgejo

This commit is contained in:
Marcus 2026-01-23 15:54:49 -03:00
parent d2aacac608
commit 421a698283

View file

@ -6,10 +6,7 @@ on:
branches: branches:
- dev - dev
env: # Removido DOCKER_HOST TCP para usar o Socket padrão /var/run/docker.sock
# Define o IP padrão mas o script abaixo pode sobrescrever se necessário
DOCKER_HOST: tcp://127.0.0.1:2375
jobs: jobs:
build-and-push: build-and-push:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -22,26 +19,22 @@ jobs:
curl -fsSL https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz | tar -xz --strip-components=1 -C /usr/local/bin/ docker/docker curl -fsSL https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz | tar -xz --strip-components=1 -C /usr/local/bin/ docker/docker
chmod +x /usr/local/bin/docker chmod +x /usr/local/bin/docker
echo "Buscando o motor do Docker Sidecar..." echo "Testando conexão via Socket..."
# Testa 127.0.0.1 e localhost para garantir o mapeamento do Pod # Tenta 5 vezes com pequeno intervalo caso o socket demore a montar
for target in "127.0.0.1" "localhost"; do for i in {1..5}; do
echo "Tentando conexão em $target:2375..." if docker version &>/dev/null; then
if DOCKER_HOST=tcp://$target:2375 docker version &>/dev/null; then echo "Docker conectado via Socket com sucesso!"
echo "Docker conectado com sucesso em $target!"
echo "DOCKER_HOST=tcp://$target:2375" >> $GITHUB_ENV
exit 0 exit 0
fi fi
sleep 2 echo "Tentativa $i: Socket não disponível, aguardando..."
sleep 3
done done
echo "Erro crítico: Arquivo /var/run/docker.sock não encontrado ou inacessível."
echo "Erro: O motor do Docker está online (visto nos logs), mas a rede interna do Pod falhou."
exit 1 exit 1
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3 uses: docker/setup-buildx-action@v3
with: # O Buildx usará o socket padrão automaticamente
# Usa a variável de ambiente definida no passo anterior
endpoint: ${{ env.DOCKER_HOST }}
- name: Login to Forgejo Registry - name: Login to Forgejo Registry
uses: docker/login-action@v3 uses: docker/login-action@v3