콘텐츠로 바로가기

문제 해결

Capgo Cloud Build와 함께 네이티브 앱을 빌드할 때 발생하는 일반적인 문제의 해결책입니다.

업로드 실패

연결 시간 초과

업로드 실패 또는 연결 시간 초과 섹션

  • 프로젝트 업로드 중 빌드가 실패합니다.
  • 60초 후 시간 초과 오류가 발생합니다.

해결 방법:

  1. 인터넷 연결을 확인하세요.

    터미널 창
    # Test connection to Capgo
    curl -I https://api.capgo.app
  2. 프로젝트 크기를 줄입니다.

    • 확인하세요. node_modules/ 업로드 중인 프로젝트가 아닙니다 (자동으로 제외되어야 함).
    • 프로젝트 내에 큰 파일이 있는지 확인하세요:
    터미널 창
    find . -type f -size +10M
  3. 업로드 URL 만료 확인

    • 업로드 URL은 1시간 후 만료됩니다.
    • 만료된 URL 오류가 발생한 경우 다시 빌드 명령어를 실행해 주세요.

”Build timeout after 10 minutes”

10분 후 빌드 시간 초과

Symptoms:

  • 증상: 빌드는 최대 허용 시간을 초과했습니다.
  • 상태를 보여줍니다. timeout

해결책:

  1. 의존성을 최적화하세요.

    • 사용하지 않는 npm 패키지를 제거하세요.
    • 사용 npm prune --production 빌드하기 전에
  2. 빌드 중 네트워크 문제를 확인하세요.

    • 빌드 중에 대형 파일을 다운로드하는 의존성이 있을 수 있습니다.
    • 락 파일을 사용하여 미리 캐싱 고려하세요.
  3. 자연어 의존성을 검토하세요.

    터미널 창
    # iOS - check Podfile for heavy dependencies
    cat ios/App/Podfile
    # Android - check build.gradle
    cat android/app/build.gradle
  4. 지원 문의

    • 앱이 합법적으로 더 많은 시간이 필요합니다
    • 특정 사용 사례에 대해 한도 조정

인증 문제

인증 문제

API 키가 유효하지 않거나 인증되지 않았습니다

API 키가 유효하지 않거나 인증되지 않았습니다

증상:

  • 인증 오류로 인해 빌드가 즉시 실패합니다
  • 401 또는 403 오류

해결책:

  1. API 키가 올바른지 확인하세요

    터미널 창
    # Test with a simple command
    bunx @capgo/cli@latest app list
  2. API 키 권한 확인

    • __CAPGO_KEEP_0__ 키는 write 또는 all __CAPGO_KEEP_0__ 대시보드의 __CAPGO_KEEP_1__ 키에서 확인
    • Check in Capgo dashboard under API Keys
  3. Ensure API key is being read

    클립보드에 복사
    # Check environment variable
    echo $CAPGO_TOKEN
    # Or check your saved credentials file
    cat ~/.capgo-credentials/credentials.json # global
    cat .capgo-credentials.json # local (--local)
  4. 터미널 창

    클립보드에 복사
    bunx @capgo/cli@latest login

__CAPGO_KEEP_1__

__CAPGO_KEEP_2__

__CAPGO_KEEP_3__

  • __CAPGO_KEEP_4__

__CAPGO_KEEP_5__

  1. __CAPGO_KEEP_6__

    __CAPGO_KEEP_7__
    bunx @capgo/cli@latest app list
  2. __CAPGO_KEEP_9__

    • __CAPGO_KEEP_10__ capacitor.config.json __CAPGO_KEEP_11__
    • __CAPGO_KEEP_0__ ID를 사용하는 명령어를 올바르게 사용하세요
  3. __CAPGO_KEEP_0__ 조직에 대한 접근 권한을 확인하세요

    • __CAPGO_KEEP_0__ 조직에 있는지 확인하세요
    • API 키는 앱의 조직에 접근할 수 있어야 합니다

iOS 빌드 문제

iOS 빌드 문제

Code 인증에 실패했습니다

Code 인증에 실패했습니다

증상:

  • code 인증 단계에서 빌드가 실패합니다
  • 인증서 또는 프로파일과 관련된 Xcode 오류

해결책:

  1. 인증서 유형이 빌드 유형과 일치하는지 확인하세요.

    • 개발 빌드는 개발 인증서가 필요합니다.
    • 앱 스토어 빌드는 배포 인증서가 필요합니다.
  2. 인증서와 프로파일이 일치하는지 확인하세요.

    터미널 창
    # Decode and inspect your certificate
    echo $BUILD_CERTIFICATE_BASE64 | base64 -d > cert.p12
    openssl pkcs12 -in cert.p12 -nokeys -passin pass:$P12_PASSWORD | openssl x509 -noout -subject
  3. 프로비저닝 프로파일이 유효한지 확인하세요.

    • 만료일이 언제인지 확인하세요.
    • 앱 ID가 포함되어 있는지 확인하세요.
    • 인증서가 포함되어 있는지 확인하세요.
  4. 새로운 인증서/프로파일을 생성하세요.

    • 기존 인증서/프로파일을 삭제하세요.
    • Apple 개발자 포털에서 새로운 것을 생성하세요.
    • 환경 변수를 재인코딩하고 업데이트하세요.

”Provisioning profile doesn’t include signing certificate”

Section titled “”Provisioning profile doesn’t include signing certificate””

증상:

  • Xcode는 프로파일에서 인증서를 찾을 수 없습니다.

해결책:

  1. 최신 프로파일을 Apple에서 다운로드하세요.

    • Apple Developer → 인증서, ID 및 프로파일로 이동하세요.
    • 프로비저닝 프로파일을 다운로드하세요.
    • 인증서가 포함되어 있는지 확인하세요.
  2. 인증서가 프로파일에 포함되어 있는지 확인하세요.

    터미널 창
    # Extract profile
    echo $BUILD_PROVISION_PROFILE_BASE64 | base64 -d > profile.mobileprovision
    # View profile contents
    security cms -D -i profile.mobileprovision
  3. 올바른 인증서로 프로필 다시 생성

    • 애플 개발자 포털에서 프로필 편집
    • 배포 인증서가 선택되어 있는지 확인
    • 다운로드 및 재인코딩

App Store Connect 인증이 실패했습니다

App Store Connect 인증이 실패했습니다

증상:

  • 테스트 플라이트로 업로드 실패
  • API 키 오류

해결 방법:

  1. API 인증 키를 확인하세요

    • APPLE_KEY_ID (10자리여야 함)를 확인하세요
    • APPLE_ISSUER_ID (UUID 형식여야 함)를 확인하세요
    • APPLE_KEY_CONTENT가 올바르게 base64 인코딩되어 있는지 확인하세요
  2. 컴퓨터 시계를 동기화하세요

    • App Store Connect 인증은 로컬 시스템 시간으로부터 생성된 짧은 유효 기간의 JWT를 사용합니다
    • Apple은 20분 이상 유효 기간이 있는 토큰을 거부하므로, 시계가 약간도 틀려도 유효한 키가 실패할 수 있습니다
    • Windows에서 열어보세요 설정 > 시간 및 언어 > 날짜 및 시간 Sync now를 클릭하세요 macOS에서 열어보세요
    • 설정 > 시계 및 시간 시스템 설정 > 일반 > 날짜 및 시간 자동 시간 설정을 활성화하세요.
    • Linux에서 확인하고 timedatectl status 필요한 경우 NTP를 활성화하세요.
    • Capgo 빌드 또는 자격 증명 명령을 다시 실행하세요.

    __CAPGO_KEEP_0__ 요청을 위한 토큰 생성에 대한 Apple의 API 요청을 위한 토큰 생성에 대한 Apple의 __CAPGO_KEEP_0__ 요청을 위한 토큰 생성에 대한 Apple의

  3. API 키를 로컬에서 테스트하세요.

    터미널 창
    # Decode key
    echo $APPLE_KEY_CONTENT | base64 -d > AuthKey.p8
    # Test with fastlane (if installed)
    fastlane pilot list
  4. API 키 권한을 확인하세요.

    • 개발자 역할 이상의 사용자 필요
    • 애플 스토어 연결 -> 사용자 및 액세스 -> 키 확인
  5. 키가 취소되지 않았는지 확인

    • 애플 스토어 연결에서 확인
    • 필요한 경우 새로운 키 생성

증상:

  • 코코아팟 설치 중 빌드 실패
  • 팟파일 오류

해결책:

  1. 팟파일.lock이 커밋되었는지 확인

    터미널 창
    git status ios/App/Podfile.lock
  2. 로컬로 테스트하는 pod 설치

    터미널 창
    cd ios/App
    pod install
  3. 비호환성 있는 pod 확인

    • Podfile의 버전 충돌을 검토
    • iOS 배포 대상이 지원하는 모든 pod 확인
  4. pod 캐시 삭제

    터미널 창
    cd ios/App
    rm -rf Pods
    rm Podfile.lock
    pod install
    # Then commit new Podfile.lock

안드로이드 빌드 문제

안드로이드 빌드 문제

증상:

  • 빌드 중 인증서로 인한 오류
  • Gradle에서 인증서 관련 오류

해결 방법:

  1. 인증서 비밀번호 확인

    터미널 창
    # Test keystore locally
    keytool -list -keystore my-release-key.keystore
    # Enter password when prompted
  2. 환경 변수 확인

    터미널 창
    # Ensure no extra spaces or special characters
    echo "$KEYSTORE_STORE_PASSWORD" | cat -A
    echo "$KEYSTORE_KEY_PASSWORD" | cat -A
  3. base64 인코딩 확인

    터미널 창
    # Decode and test
    echo $ANDROID_KEYSTORE_FILE | base64 -d > test.keystore
    keytool -list -keystore test.keystore

증상:

  • 별칭 오류로 서명 실패

해결책:

  1. 키스토어 별칭 목록

    터미널 창
    keytool -list -keystore my-release-key.keystore
  2. __CAPGO_KEEP_0__을 정확하게 확인하세요.

    • __CAPGO_KEEP_0__는 대소문자를 구분합니다.
    • KEYSTORE_KEY_ALIAS에 오류가 있는지 확인하세요.
  3. keystore의 올바른 __CAPGO_KEEP_0__를 사용하세요.

    터미널 창
    # Update environment variable to match
    export KEYSTORE_KEY_ALIAS="the-exact-alias-name"

Gradle 빌드 실패

Gradle 빌드 실패 섹션

증상:

  • 일반 Gradle 오류
  • 컴파일 또는 의존성 문제

해결책:

  1. 로컬에서 먼저 빌드 테스트하세요

    터미널 창
    cd android
    ./gradlew clean
    ./gradlew assembleRelease
  2. 누락된 의존성 확인

    • build.gradle 파일 확인
    • 모든 플러그인을 의존성에 포함 확인
  3. Gradle 버전 호환성 확인

    터미널 창
    # Check gradle version
    cat android/gradle/wrapper/gradle-wrapper.properties
  4. Gradle 캐시 삭제

    터미널 창
    cd android
    ./gradlew clean
    rm -rf .gradle build

’앱 스토어 업로드 실패’

’앱 스토어 업로드 실패’ 섹션

증상:

  • 빌드 성공하지만 업로드가 실패합니다.
  • 서비스 계정 오류

해결책:

  1. 서비스 계정 JSON을 확인하세요.

    터미널 창
    # Decode and check format
    echo $PLAY_CONFIG_JSON | base64 -d | jq .
  2. 서비스 계정 권한을 확인하세요.

    • Play Console → 설정 → API 접근 설정으로 이동
    • 서비스 계정에 앱에 대한 접근 권한이 있는지 확인하세요.
    • Grant “Release to testing tracks” 권한을 부여하십시오
  3. 앱이 Play Console에 설정되어 있는지 확인하십시오

    • Play Console에 앱이 먼저 생성되어야 합니다
    • 최소한 한 개의 APK가 수동으로 업로드되어야 합니다
  4. API이 활성화되어 있는지 확인하십시오

    • Google Play Developer API이 활성화되어야 합니다
    • Google Cloud Console에서 확인하십시오

일반적인 문제

제목: 일반적인 문제

“작업이 발견되지 않음” 또는 “빌드 상태가 사용할 수 없음”

제목: “작업이 발견되지 않음” 또는 “빌드 상태가 사용할 수 없음”

증상:

  • 빌드 상태를 확인할 수 없습니다
  • 작업 ID 오류

해결 방법:

  1. 잠시 기다려 주시고 다시 시도해 주세요

    • 빌드 작업이 몇 초 동안 초기화될 수 있습니다
  2. 작업 ID가 정확한지 확인하세요

    • 초기 빌드 응답에서 작업 ID를 확인하세요
  3. 빌드가 만료되지 않았는지 확인하세요

    • 빌드 데이터는 24시간 동안 사용할 수 있습니다

증상:

  • 컴파일이 시작되기 전에 빌드가 실패합니다.
  • 파일이 누락된 오류

해결책:

  1. Capacitor을 로컬에서 동기화 하세요.

    터미널 창
    bunx cap sync
  2. 모든 네이티브 파일이 커밋된 것을 확인하세요.

    터미널 창
    git status ios/ android/
  3. gitignored된 네이티브 파일을 확인하세요.

    • .gitignore를 검토하세요.
    • 중요한 설정 파일이 무시되지 않는지 확인하세요.

성공했지만 출력을 볼 수 없어요

성공했지만 출력을 볼 수 없어요

증상:

  • 빌드가 성공했지만 다운로드 링크가 보이지 않습니다

해결책:

  1. 빌드 설정을 확인하세요

    • 아티팩트 저장소가 구성되지 않았을 수 있습니다
    • 아티팩트 접근이 불가한 경우 빌드에 대한 지원을 문의하세요
  2. iOS TestFlight 제출을 위해

    • App Store Connect를 확인하세요
    • 업로드 후 5-30분 정도 처리가 소요될 수 있습니다
  3. Android Play Store를 위해

    • Play Console → 테스트 → 내부 테스트 확인
    • 몇 분 정도 걸릴 수 있습니다

CI/CD 관련 문제

CI/CD 관련 문제 제목

GitHub 명령어: “명령어 찾을 수 없음”

GitHub 명령어: “명령어 찾을 수 없음” 제목

증상:

  • bunx @capgo/cli@latest … CI에서 “명령어 찾을 수 없음”으로 실패

해결 방법:

  1. Bun을 먼저 설정하세요 그럼 bunx 사용 가능합니다

    - uses: oven-sh/setup-bun@v2
  2. 그런 다음 CLI을 실행하세요.bunx 필요한 경우에만 전역 설치가 필요하지 않아 __CAPGO_KEEP_0__을 동적으로 가져옵니다:

    - run: bunx @capgo/cli@latest build request com.example.app --platform android

GitHub 액션: "비밀번호가 없습니다"

GitHub 액션: "비밀번호가 없습니다" 섹션 제목

증상:

  • 빌드 시 환경 변수가 비어 있습니다.

해결 방법:

  1. 비밀번호가 설정되어 있는지 확인하세요.

    • repo 설정 → 액션 및 변수 → 비밀번호와 변수로 이동하여 모든 필요한 비밀번호를 추가하세요.
    • 설정 → 액션 및 변수 → 비밀번호와 변수로 이동하여 모든 필요한 비밀번호를 추가하세요.
  2. 정확한 문법 사용

    env:
    CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
  3. 비밀 이름이 일치하는지 확인

    • 이름은 대소문자 구별
    • 비밀 참조에 오류가 없는지 확인
터미널 창
# Add debug flag (when available)
bunx @capgo/cli@latest build request com.example.app --verbose

빌드 정보 수집

구축 정보 수집

지원에 연락할 때 포함:

  1. 사용한 빌드 명령어

    터미널 창
    bunx @capgo/cli@latest build request com.example.app --platform ios
  2. 에러 메시지 (전체 출력)

  3. 작업 ID (빌드 출력에서)

  4. 빌드 로그 (전체 터미널 출력 복사)

  5. 환경 정보

    터미널 창
    node --version
    npm --version
    bunx @capgo/cli@latest --version

알려진 제한 사항

알려진 제한 사항 섹션

현재 제한 사항:

  • 최대 빌드 시간: 10분
  • 최대 업로드 크기: ~500MB
  • iOS 빌드는 24시간 Mac 임대가 필요하며 Mac에서 빌드하면 최적의 사용을 보장하기 위해 대기열에 등록됩니다.
  • 빌드 아티팩트 다운로드 가능성은 빌드 목적지와 아티팩트 저장 설정에 따라 달라집니다.

이 제한 사항은 사용자 피드백에 따라 조정될 수 있습니다.