CI 연동

Fastlane Android 등록 확인을 출시 전에 실행

Fastlane은 등록 상태를 서명, 메타데이터, 스토어 업로드와 함께 출시 전제조건으로 둘 수 있습니다. 네트워크 조회를 승격에 가깝게 배치해야 실제 출시 패키지를 확인합니다.

가이드 요약

Fastlane Android 등록 확인을 업로드나 승격 lane 직전에 배치해 미등록과 인증서 불일치를 찾습니다.

대상: Fastlane supply, gradle 또는 사용자 정의 lane을 사용하는 모바일 출시 팀.

출시 점검 순서

  1. lane과 같은 설정에서 출시 application ID를 읽습니다.
  2. lane이 만든 서명된 APK에서 인증서 지문을 추출합니다.
  3. 보호된 Status API를 호출하고 안정된 state를 파싱합니다.
  4. NOT_REGISTERED 또는 불일치에서 lane을 멈추고 해결 안내를 연결합니다.

핵심 정보

적절한 위치서명 후, 업로드 또는 승격 전
실패 출력안정된 상태와 해결 URL
로그 금지시크릿 또는 비공개 서명 자료
주의 사항

재시도는 네트워크나 할당량 오류에만 사용합니다. 안정된 등록 불일치는 사람의 조치가 필요합니다. fastlane sh는 기본적으로 명령과 출력을 기록하므로 자격 증명을 포함한 호출은 log: false 또는 보호된 헬퍼를 사용하고, 로깅을 다시 켜는 --troubleshoot를 사용하지 마세요.

상세 안내

서명 이후에 확인 배치하기

Fastlane lane은 곧 승격할 아티팩트에서 신원을 추출해야 합니다. 더 일찍 실행하면 잘못된 flavor, 패키지 접미사, 인증서를 확인할 수 있습니다.

sh 또는 작은 Ruby action으로 공식 API를 호출하고 JSON을 파싱해 안정된 등록 실패에 명확한 UI.user_error!를 냅니다. 아래 영어 상태·명령은 동작값이지만 예시는 그대로 쓰면 API 키가 명령 로그에 드러날 수 있으므로, 실제 구현에서는 log: false인 sh 또는 자격 증명을 숨기는 헬퍼로 감싸세요.

  • 먼저 빌드하고 서명합니다.
  • 프로덕션 application ID를 확인합니다.
  • 실패 메시지에 해결 가이드를 연결합니다.
Fastlane lane 구조 예시
status = sh("curl --fail --silent -H 'X-Goog-Api-Key: #{ENV.fetch('ANDROID_DEVELOPER_ID_API_KEY')}' '#{endpoint}' | jq -r .state").strip
UI.user_error!("Android package is #{status}") unless status == "REGISTERED"

운영 패키지 이름을 입력하고, 서명까지 확인하려면 실제 배포 APK의 인증서 SHA-256을 추가하세요. 이 조회는 스토어 심사와 별개입니다.

상태 확인 →

자주 묻는 질문

인증서 불일치를 lane이 재시도해야 하나요?

아닙니다. 조사가 필요한 안정된 신원 결과이며 같은 호출을 반복해도 해결되지 않습니다.

공개 지문을 로그에 남겨도 되나요?

비공개 키는 아니지만 로그를 최소화하고 통제된 출시 증거에만 보관할 수 있습니다. API 키가 포함된 명령은 절대로 기록하지 마세요.

출처 및 검토

최종 검토일: