CI/CDiOS·Android·Web — 어떤 프레임워크든
push하면 나머지는 스토어까지.저장소만 고르면 빌드, 코드 서명, TestFlight와 Google Play 배포를 자동화합니다. Flutter든 Swift든 Kotlin이든 같은 방법입니다.
지원 프레임워크
서버도 Mac도 준비할 필요가 없습니다. 저장소를 고르면 프레임워크를 판별해 빌드 단계를 만듭니다.
Codeness GitHub App을 설치하고 빌드할 저장소를 고릅니다.
Flutter, React Native, 네이티브 등을 판별해 빌드 단계와 산출물을 자동 설정합니다. 필요하면 화면에서 조정할 수 있습니다.
버튼을 누르거나 push·풀 리퀘스트·태그로 시작합니다. 서명된 IPA와 AAB를 스토어로 보냅니다.
App Store Connect API 키만 등록하면 인증서와 프로비저닝 프로파일을 생성·가져옵니다.
빌드가 끝나면 TestFlight 테스터 그룹이나 Google Play 트랙에 바로 업로드합니다.
iOS는 macOS, Android와 Web은 Linux로. 워크플로마다 실행 환경과 도구 버전을 고를 수 있습니다.
브랜치 push, 풀 리퀘스트, 태그를 계기로 빌드합니다. 대상 브랜치는 패턴으로 좁힐 수 있습니다.
환경 변수·인증서·키스토어는 암호화해 저장하고, 빌드 로그에는 값이 보이지 않게 자동으로 가립니다.
멤버를 초대해 권한을 나누고 서명 파일을 팀에서 공유합니다. 빌드 결과는 Slack으로 알립니다.
대시보드 양식으로 설정하거나 저장소에 codeness.yaml 을(를) 두고 브랜치별로 관리할 수 있습니다.
$CODENESS_ENV$BUILD_NUMBER (으)로 자동 부여workflows: release: framework: flutter targets: [ios, android] instance: macos-15 triggering: events: [push, tag] branch_patterns: [main] ios_signing: mode: automatic api_key: "ASC key" bundle_ids: [com.example.app] publishing: app_store_connect: submit_to_testflight: true google_play: track: internal # alpha / beta / production
Codeness가 제공하는 Apple 실리콘 Mac에서 실행됩니다. 빌드마다 일회용 macOS 가상 머신을 띄우고 끝나면 지웁니다. 소스 코드는 Codeness에 저장되지 않습니다. 워크플로별로 저장소의 GitHub Actions를 선택할 수도 있습니다.
가능합니다. Xcode가 설치된 Codeness의 Mac에서 빌드와 코드 서명을 합니다.
AES-256-GCM으로 암호화해 저장하고, 빌드 시작 시 한 번만 실행 환경에 전달합니다. 로그에 나온 값은 자동으로 가려집니다.
현재는 GitHub만 지원합니다.
'사용자 지정'을 고르면 임의의 셸 스크립트를 실행할 수 있습니다. Unity, Rust, Go 등 명령으로 빌드되는 것이면 됩니다.