fix(ci): correcao definitiva de permissoes Docker
Some checks failed
Some checks failed
Adiciona step dedicado para corrigir permissoes apos build Docker: - Usa container Alpine para fazer chown -R 1000:1000 no build - Tambem corrige permissoes do destino antes do rsync Isso resolve o erro "Permission denied" do rsync causado por arquivos criados pelo Docker como root. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
f0a4b9b782
commit
12a809805e
1 changed files with 11 additions and 6 deletions
|
|
@ -182,17 +182,22 @@ jobs:
|
||||||
sistema_web:node22-bun \
|
sistema_web:node22-bun \
|
||||||
bash -lc "set -euo pipefail; bun install --frozen-lockfile --filter '!appsdesktop'; bun run prisma:generate; bun run build:bun"
|
bash -lc "set -euo pipefail; bun install --frozen-lockfile --filter '!appsdesktop'; bun run prisma:generate; bun run build:bun"
|
||||||
|
|
||||||
|
- name: Fix Docker-created file permissions
|
||||||
|
run: |
|
||||||
|
# Docker cria arquivos como root - corrigir para o usuario runner (UID 1000)
|
||||||
|
docker run --rm -v "$EFFECTIVE_APP_DIR":/target alpine:3 \
|
||||||
|
chown -R 1000:1000 /target
|
||||||
|
echo "Permissoes do build corrigidas"
|
||||||
|
|
||||||
- name: Publish build to stable APP_DIR directory
|
- name: Publish build to stable APP_DIR directory
|
||||||
run: |
|
run: |
|
||||||
set -e
|
set -e
|
||||||
DEST="$HOME/apps/sistema"
|
DEST="$HOME/apps/sistema"
|
||||||
mkdir -p "$DEST"
|
mkdir -p "$DEST"
|
||||||
mkdir -p "$DEST/.next/static"
|
mkdir -p "$DEST/.next/static"
|
||||||
# Corrigir permissoes de arquivos criados por containers Docker (root)
|
# Corrigir permissoes do destino (arquivos de deploys anteriores)
|
||||||
# Isso permite que o rsync sobrescreva arquivos anteriores
|
if [ -d "$DEST" ]; then
|
||||||
if [ -d "$DEST/src/generated" ]; then
|
docker run --rm -v "$DEST":/target alpine:3 \
|
||||||
chmod -R u+rwX "$DEST/src/generated" 2>/dev/null || \
|
|
||||||
docker run --rm -v "$DEST/src/generated":/target alpine:3 \
|
|
||||||
chown -R 1000:1000 /target 2>/dev/null || true
|
chown -R 1000:1000 /target 2>/dev/null || true
|
||||||
fi
|
fi
|
||||||
# rsync com --no-owner --no-group para nao preservar UID do container Docker
|
# rsync com --no-owner --no-group para nao preservar UID do container Docker
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue