Skip to content

Setup Script Analysis

This content is not available in your language yet.

2026-01-28 06:10-06:11


  • ✅ API 토큰 정상 인식 및 설정
  • ✅ 스크립트 시작 메시지 정상 출력
  • ✅ 환경별 루프 정상 작동 (dev → staging → production)
  • D1 Database: 성공적으로 생성됨
    • Database ID: f9e34a5c-d098-4fc2-bb5a-9239e7ec9ef5
    • Region: APAC
  • Queues: 모두 이미 존재 (정상 - 중복 생성 방지)
    • newsfork-research-dev
    • newsfork-contract-dev
    • newsfork-liveness-dev
    • newsfork-seed-dev
    • newsfork-domain-dev
    • newsfork-dlq-dev
    • newsfork-seed-dlq-dev
    • newsfork-domain-dlq-dev
  • D1 Database: 이미 존재 (정상)
  • KV Namespace: 성공적으로 생성됨
    • Namespace ID: 54fb1f5d47734607aa076042c7ef8416
    • Binding: DOMAIN_KV
  • Queues: 모두 이미 존재 (정상)
  • D1 Database: 이미 존재 (정상)
  • KV Namespace: 성공적으로 생성됨
    • Namespace ID: 0a4a30e82cc7471189a02eacb7f4ed7e
    • Binding: DOMAIN_KV
  • Queues: 모두 성공적으로 생성됨
    • newsfork-research-production ✅
    • newsfork-contract-production ✅
    • newsfork-liveness-production ✅
    • newsfork-seed-production ✅
    • newsfork-domain-production ✅
    • newsfork-dlq-production ✅
    • newsfork-seed-dlq-production ✅
    • newsfork-domain-dlq-production ✅

문제 1: Dev 환경 KV Namespace 생성 실패

섹션 제목: “문제 1: Dev 환경 KV Namespace 생성 실패”

에러 메시지:

✘ [ERROR] Processing wrangler.jsonc configuration:
- No environment found in configuration with name "dev".
Before using `--env=dev` there should be an equivalent environment section in the configuration.
The available configured environment names are: ["staging","production"]

원인 분석:

  • wrangler.jsoncdev 환경 설정이 없음
  • 스크립트는 --env dev 플래그를 사용하여 KV Namespace를 생성하려고 시도
  • 하지만 wrangler.jsonc에는 stagingproduction만 정의되어 있음

현재 동작:

  • 스크립트는 에러를 grep -v 'already exists'로 필터링하여 무시
  • 결과적으로 “Already exists or creation skipped” 메시지 출력
  • 실제로는 생성 실패했지만 스크립트는 성공으로 처리

해결 방법:

  1. 방안 A: Dev 환경에서는 --env 플래그 없이 생성

    Terminal window
    # Dev 환경은 기본 환경이므로 --env 플래그 불필요
    npx wrangler kv namespace create DOMAIN_KV # --env dev 제거
  2. 방안 B: wrangler.jsoncdev 환경 추가

    "env": {
    "dev": {
    // dev 환경 설정
    },
    "staging": { ... },
    "production": { ... }
    }
  3. 방안 C: 에러 감지 로직 개선

    • grep -v로 에러를 숨기지 말고 명시적으로 에러 체크
    • 에러 발생 시 적절한 메시지 출력

문제 2: 에러 메시지 필터링으로 인한 정보 손실

섹션 제목: “문제 2: 에러 메시지 필터링으로 인한 정보 손실”

현재 코드:

Terminal window
npx wrangler kv namespace create DOMAIN_KV --env "$env" 2>&1 | grep -v "already exists" | grep -v "^$"

문제점:

  • grep -v "already exists"는 “already exists” 문자열이 포함된 모든 라인을 제거
  • 하지만 실제 에러 메시지도 필터링되어 사용자가 문제를 파악하기 어려움
  • 에러가 발생해도 스크립트는 계속 진행

개선 방안:

Terminal window
# 에러를 명시적으로 체크
if ! output=$(npx wrangler kv namespace create DOMAIN_KV --env "$env" 2>&1); then
if echo "$output" | grep -qi "already exists"; then
echo " ℹ️ Already exists: DOMAIN_KV"
else
echo " ❌ Error: Failed to create KV namespace"
echo "$output" | head -10
# 에러가 발생했지만 계속 진행 (idempotent)
fi
else
echo "$output" | grep -v "^$"
echo " ✅ Created"
fi

현재 상태:

  • Dev 환경의 KV Namespace가 생성되지 않음
  • Staging과 Production은 성공적으로 생성됨

영향:

  • 로컬 개발 시 (wrangler dev --local) KV Namespace가 없을 수 있음
  • Dev 환경 배포 시 문제 발생 가능

해결 필요:

  • Dev 환경 KV Namespace를 수동으로 생성하거나
  • 스크립트를 수정하여 Dev 환경도 정상적으로 생성되도록 해야 함

환경D1KVQueues상태
dev✅ 생성됨❌ 실패✅ 모두 존재⚠️ 부분 성공
staging✅ 존재✅ 생성됨✅ 모두 존재✅ 완전 성공
production✅ 존재✅ 생성됨✅ 모두 생성됨✅ 완전 성공

Dev 환경:

  • D1 Database: f9e34a5c-d098-4fc2-bb5a-9239e7ec9ef5

Staging 환경:

  • KV Namespace: 54fb1f5d47734607aa076042c7ef8416

Production 환경:

  • KV Namespace: 0a4a30e82cc7471189a02eacb7f4ed7e
  • Queues: 8개 모두 생성됨

정상 작동 여부: 부분적으로 정상

섹션 제목: “정상 작동 여부: 부분적으로 정상”

성공한 부분:

  1. ✅ 인증 및 초기화 정상
  2. ✅ Staging 환경 KV Namespace 생성 성공
  3. ✅ Production 환경 KV Namespace 및 모든 Queue 생성 성공
  4. ✅ Dev 환경 D1 Database 생성 성공
  5. ✅ 이미 존재하는 리소스 중복 생성 방지 (idempotent)

문제점:

  1. ❌ Dev 환경 KV Namespace 생성 실패 (wrangler.jsonc에 dev 환경 없음)
  2. ⚠️ 에러 메시지가 필터링되어 실제 문제 파악 어려움
  3. ⚠️ Dev 환경 KV Namespace가 누락됨

권장 조치:

  1. 즉시 조치: Dev 환경 KV Namespace 수동 생성

    Terminal window
    npx wrangler kv namespace create DOMAIN_KV
    # (--env 플래그 없이, dev는 기본 환경)
  2. 스크립트 개선:

    • Dev 환경 처리 로직 수정
    • 에러 감지 및 메시지 개선
    • wrangler.jsonc에 dev 환경 추가 또는 —env 플래그 조건부 사용
  3. wrangler.jsonc 업데이트:

    • 생성된 KV Namespace ID를 wrangler.jsonc에 반영
    • Staging: 54fb1f5d47734607aa076042c7ef8416
    • Production: 0a4a30e82cc7471189a02eacb7f4ed7e

  1. Dev KV Namespace 수동 생성

    Terminal window
    npx wrangler kv namespace create DOMAIN_KV
  2. wrangler.jsonc 업데이트

    • Staging KV ID: 54fb1f5d47734607aa076042c7ef8416
    • Production KV ID: 0a4a30e82cc7471189a02eacb7f4ed7e
    • 또는 provision-resources.sh 실행하여 자동 업데이트
  3. 스크립트 개선 (선택사항)

    • Dev 환경 처리 로직 수정
    • 에러 감지 개선

분석 일시: 2026-01-28
전체 평가: ⚠️ 부분 성공 (주요 리소스는 생성되었으나 Dev KV 누락)