Git 의식 없음
Click Run workflow / Run pipeline. Capgo Build compiles from the branch you pick.
이 플러그인의 설치 단계와 전체 마크다운 가이드를 포함한 설치 설정을 복사하세요.
PR나 릴리스 태그를 병합하거나 절단하지 않고 iOS 또는 Android 바이너리를 서명해야 하는 경우가 종종 있습니다. — QA 빌드, 스토어 리서밋, 또는 일회용 테스트 플라이트. 모든 주요 code 호스트는 웹 UI에서 pipeline을 시작할 수 있습니다. 이 가이드는 UI를 Capgo 빌드와 연결하는 방법을 보여줍니다.
Git 의식 없음
Click Run workflow / Run pipeline. Capgo Build compiles from the branch you pick.
안전한 입력
호스트가 지원하는 경우 플랫폼 및 빌드 모드에서 제한된 선택 항목을 사용합니다 (GitHub / Bitbucket / Azure). GitLab 변수는 실행마다 편집할 수 있습니다. 그러나 변수를 정의하지 않으면 pipeline 입력 with options.
CI와 동일한 비밀
저장소에 이미 있는 Capgo 빌드 인증서를 재사용하세요. 노트북에서는 새로운 정보가 없습니다.
gh secret set -f)CAPGO_TOKEN __CAPGO_KEEP_0__가 masked secret / CI 변수로 저장됩니다.GitHub의 액션 __CAPGO_KEEP_0__의 탭은 __CAPGO_KEEP_0__가 선언하는 workflow를 시작할 수 있습니다. workflow_dispatch.
name: Capgo Build (Manual)
on: workflow_dispatch: inputs: platform: description: Platform to build required: true default: both type: choice options: [ios, android, both] mode: description: Build mode required: true default: debug type: choice options: [debug, release] ref_note: description: Optional note for the run summary required: false type: string
jobs: build: runs-on: ubuntu-latest environment: ${{ inputs.mode == 'release' && 'production' || 'build-debug' }} strategy: fail-fast: false matrix: platform: ${{ fromJSON(inputs.platform == 'both' && '["ios","android"]' || format('["{0}"]', inputs.platform)) }} steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v6 with: node-version: '24' cache: 'npm'
- run: npm ci - run: npm run build - run: npx cap sync ${{ matrix.platform }}
- name: Capgo Build env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} P12_PASSWORD: ${{ secrets.P12_PASSWORD }} CAPGO_IOS_PROVISIONING_MAP: ${{ secrets.CAPGO_IOS_PROVISIONING_MAP }} APPLE_KEY_ID: ${{ secrets.APPLE_KEY_ID }} APPLE_ISSUER_ID: ${{ secrets.APPLE_ISSUER_ID }} APPLE_KEY_CONTENT: ${{ secrets.APPLE_KEY_CONTENT }} APP_STORE_CONNECT_TEAM_ID: ${{ secrets.APP_STORE_CONNECT_TEAM_ID }} ANDROID_KEYSTORE_FILE: ${{ secrets.ANDROID_KEYSTORE_FILE }} KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_KEY_ALIAS }} KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }} KEYSTORE_STORE_PASSWORD: ${{ secrets.KEYSTORE_STORE_PASSWORD }} PLAY_CONFIG_JSON: ${{ secrets.PLAY_CONFIG_JSON }} run: | EXTRA="" if [ "${{ inputs.mode }}" = "debug" ] && [ "${{ matrix.platform }}" = "android" ]; then EXTRA="--no-playstore-upload --output-upload" fi npx @capgo/cli@latest build request com.example.app \ --platform ${{ matrix.platform }} \ --build-mode ${{ inputs.mode }} \ $EXTRA권한이 있는 작성 접근 권한이 있는 사용자는 빌드를 시작할 수 있습니다. 샘플 매핑 release 실행되면 GitHub 환경 이름으로 production — 해당 환경을 생성하고 필요한 리뷰어를 추가하여 빌드가 승인待ちになるように 설정하세요. 승인자가 없으면 environment: 작업 중인 환경 보호 규칙은 적용되지 않습니다.
GitLab이 Build → Pipelines → Pipeline 실행 해당 branch가 준비되면
# Job fragment for .gitlab-ci.ymlstages: - build
variables: APP_ID: com.example.app PLATFORM: android # override from Run pipeline UI BUILD_MODE: debug
capgo_native_manual: stage: build when: manual script: - npm ci - npm run build - npx cap sync "$PLATFORM" - | npx @capgo/cli@latest build request "$APP_ID" \ --platform "$PLATFORM" \ --build-mode "$BUILD_MODE" rules: # Actions / Pipelines UI → manual play button - if: '$CI_PIPELINE_SOURCE == "web"' when: manual # Pipeline trigger token / webhook → run automatically - if: '$CI_PIPELINE_SOURCE == "trigger"' when: on_success - when: neverPLATFORM / BUILD_MODE 이 실행에 변수 설정when: manual __CAPGO_KEEP_0__는 매 푸시마다 작업을 실행하지 않도록 합니다; 웹 UI (또는 pipeline trigger 토큰)가 필요할 때 시작합니다. pipeline trigger 토큰)이 필요할 때 시작합니다.
Bitbucket UI가 변수를 전달할 수 있도록 사용자 정의 pipeline을 사용하세요:
pipelines: custom: capgo-native-build: - variables: - name: PLATFORM default: android allowed-values: - ios - android - name: BUILD_MODE default: debug allowed-values: - debug - release - step: name: Capgo Build image: node:24 script: - npm ci - npm run build - npx cap sync "$PLATFORM" - npx @capgo/cli@latest build request com.example.app --platform "$PLATFORM" --build-mode "$BUILD_MODE"Pipelines → pipeline 실행 → 사용자 정의: __CAPGO_KEEP_0__-native-build Pipelines → Run pipeline → Custom: capgo-native-build. 저장 CAPGO_TOKEN 및 서명 자료 저장소 설정 → Pipelines → 저장소 변수.
trigger: none # disable CI push triggerspr: none # also disable PR triggers (GitHub/Bitbucket-backed projects)
parameters: - name: platform displayName: Platform type: string default: android values: - ios - android - name: buildMode displayName: Build mode type: string default: debug values: - debug - release
pool: vmImage: ubuntu-latest
steps: - task: NodeTool@0 inputs: versionSpec: '24.x' - script: | npm ci npm run build npx cap sync ${{ parameters.platform }} npx @capgo/cli@latest build request com.example.app \ --platform ${{ parameters.platform }} \ --build-mode ${{ parameters.buildMode }} env: CAPGO_TOKEN: $(CAPGO_TOKEN) # map other signing secrets from Library → Variable groupstrigger: none 및 pr: none 자동 CI/PR 실행을 끄고 자동화 파이프라인이 시작되도록 하세요. 파이프라인 → 파이프라인 실행 (또는 웹후크). 프로젝트가 Azure Repos branch 정책을 사용하고 이 파이프라인을 큐에 넣는 경우, 그 정책을 별도로 비활성화하세요. 추가 CAPGO_TOKEN 및 서명 값을 비밀 그룹에 변수로 추가하세요.
| 입력 | 제안된 값 | 주의 |
|---|---|---|
| 플랫폼 | ios, android, both | Matrix when both |
| 모드 | debug, release | Debug + --output-upload QA 링크 |
| iOS 배포 | app_store, ad_hoc | App Store에 제출하지 않는 Ad-hoc |
다운로드 가능한 QA 아티팩트를 위해, Debug Android와 combine --no-playstore-upload --output-upload 및 URL을 읽어보세요. build last-output.
release 워크플로우에 서명 비밀번호를 넣지 마세요.inputs __CAPGO_KEEP_0__에 대한 쓰기 접근 권한이 필요하므로, 저장소 역할 및 팀 권한을 사용하여 워크플로우를 실행할 수 있는 사람을 제한하세요. branch 보호만으로는 workflow를 실행할 수 있는 권한을 제어할 수 없습니다.