fix(deploy): chown silent failure 제거 + 에러 로그 출력
- 2>/dev/null || true 조합이 Synology ACL 실패를 완전히 숨겨 신규 생성 디렉토리가 root:root로 남는 문제 해결 - chown/chmod 실패 시 WARN 로그 출력 및 CHOWN_FAILED 플래그 - trailing slash 제거로 디렉토리 자체도 재귀 chown 대상에 포함 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -63,12 +63,27 @@ rsync -rl --no-owner --no-group "$SRC/docker-compose.yml" "$DST/docker-compose.y
|
|||||||
}
|
}
|
||||||
|
|
||||||
# 파일 권한 설정 — bgg8988:users 755
|
# 파일 권한 설정 — bgg8988:users 755
|
||||||
|
# 에러는 로그로 남기되 배포는 계속 (Synology ACL 이슈가 있어도 서비스 자체는 동작)
|
||||||
echo "Setting ownership ${DEPLOY_USER}:${DEPLOY_GROUP} and mode ${DEPLOY_MODE}..."
|
echo "Setting ownership ${DEPLOY_USER}:${DEPLOY_GROUP} and mode ${DEPLOY_MODE}..."
|
||||||
|
CHOWN_FAILED=0
|
||||||
for dir in $SERVICES; do
|
for dir in $SERVICES; do
|
||||||
chown -R "${DEPLOY_USER}:${DEPLOY_GROUP}" "$DST/$dir/" 2>/dev/null || true
|
# 디렉토리 자체 + 내부 항목 모두 재귀 chown (trailing slash 제거)
|
||||||
chmod -R "$DEPLOY_MODE" "$DST/$dir/" 2>/dev/null || true
|
if [ -e "$DST/$dir" ]; then
|
||||||
|
if ! chown -R "${DEPLOY_USER}:${DEPLOY_GROUP}" "$DST/$dir"; then
|
||||||
|
echo "WARN: chown failed for $DST/$dir"
|
||||||
|
CHOWN_FAILED=1
|
||||||
|
fi
|
||||||
|
chmod -R "$DEPLOY_MODE" "$DST/$dir" || echo "WARN: chmod failed for $DST/$dir"
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
chown "${DEPLOY_USER}:${DEPLOY_GROUP}" "$DST/docker-compose.yml" 2>/dev/null || true
|
if ! chown "${DEPLOY_USER}:${DEPLOY_GROUP}" "$DST/docker-compose.yml"; then
|
||||||
chmod "$DEPLOY_MODE" "$DST/docker-compose.yml" 2>/dev/null || true
|
echo "WARN: chown failed for $DST/docker-compose.yml"
|
||||||
|
CHOWN_FAILED=1
|
||||||
|
fi
|
||||||
|
chmod "$DEPLOY_MODE" "$DST/docker-compose.yml" || echo "WARN: chmod failed for docker-compose.yml"
|
||||||
|
|
||||||
|
if [ "$CHOWN_FAILED" = "1" ]; then
|
||||||
|
echo "NOTE: 일부 파일 소유권 설정 실패. NAS에서 직접 'sudo chown -R ${DEPLOY_USER}:${DEPLOY_GROUP} $DST' 실행 권장"
|
||||||
|
fi
|
||||||
|
|
||||||
echo "SYNC_OK"
|
echo "SYNC_OK"
|
||||||
|
|||||||
Reference in New Issue
Block a user