Git 의식이 없습니다.
Click Run workflow / Run pipeline. Capgo Build compiles from the branch you pick.
설치 단계와 이 플러그인의 전체 마크다운 가이드를 포함한 설치 설정을 복사합니다.
PR 또는 릴리스 태그를 병합하지 않고 iOS 또는 Android 바이너리를 서명할 필요가 때때로 있습니다. — QA 빌드, 스토어 리서밋, 또는 TestFlight의 한 번만. 모든 주요 code 호스트는 웹 UI에서 pipeline을 시작할 수 있습니다. 이 가이드는 UI를 Capgo 빌드와 연결하는 방법을 보여줍니다.
Git 의식이 없습니다.
Click Run workflow / Run pipeline. Capgo Build compiles from the branch you pick.
안전한 입력
플랫폼 및 빌드 모드에서 호스트가 지원하는 경우 제한된 선택 항목을 사용합니다 (GitHub / Bitbucket / Azure). GitLab 변수는 실행마다 편집할 수 있습니다. CI에서 변수를 정의하지 않는 한 pipeline 입력 with options.
CI와 동일한 비밀
CI에서 이미 있는 Capgo 빌드 인증서를 재사용합니다. 노트북에서는 새로운 항목이 없습니다.
gh secret set -f)CAPGO_TOKEN __CAPGO_KEEP_0__가 저장된 마스킹된 비밀/ CI 변수로 저장됩니다.GitHub의 액션 액션 탭에서 __CAPGO_KEEP_0__가 선언하는 워크플로우를 시작할 수 있습니다. 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__CAPGO_KEEP_0__ 저장소에 대한 작성 접근 권한이 있는 사용자는 빌드를 시작할 수 있습니다. 샘플 매핑 release GitHub 환경으로 실행되며 production __CAPGO_KEEP_0__ 환경을 생성하고 필요한 리뷰어를 추가하여 빌드가 승인待ち 상태가 되도록 하세요. 승인되지 않은 경우 environment: 작업 중인 경우 환경 보호 규칙은 적용되지 않습니다.
GitLab이 해당 branch에서 작업을 실행할 수 있습니다. 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 pipeline를 시작하고 플레이 버튼을 클릭when: manual __CAPGO_KEEP_0___native_manual __CAPGO_KEEP_0___native_manual__CAPGO_KEEP_0___native_manual
Bitbucket Pipelines
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"Bitbucket Pipelines Pipelines → Run pipeline → Custom: capgo-native-buildPipeline을 사용하여 변수를 전달할 수 있도록 커스텀 pipeline을 사용하십시오: bitbucket-pipelines.yml 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 실행을 끄고 자동화된 CI/PR 실행이 시작되지 않도록 하여 Pipeline → Pipelines → Pipeline 실행 (또는 웹후크). 프로젝트가 Azure Repos branch 정책을 사용하여 이 pipeline을 대기열에 넣는 경우, 그 정책을 별도로 비활성화하십시오. CAPGO_TOKEN 및 서명 값을 secret로 표시된 변수 그룹에 추가하십시오.
| 입력 | 제안된 값 | 주의 |
|---|---|---|
| 플랫폼 | 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 — 비밀/변수만에 넣으십시오.