번거로운 Git 작업 불필요
Run workflow 또는 Run pipeline을 클릭하세요. Capgo Build는 선택한 브랜치에서 바로 컴파일을 시작합니다.
이 플러그인의 설치 단계와 전체 마크다운 가이드가 포함된 설정 프롬프트를 복사하세요.
PR을 머지하거나 릴리스 태그를 생성하지 않고도 QA 빌드, 스토어 재제출, 또는 일회성 TestFlight용 iOS/Android 서명된 바이너리가 필요할 때가 있습니다. 대부분의 주요 code 호스트는 웹 UI에서 직접 파이프라인을 시작할 수 있습니다. 이 가이드에서는 해당 UI를 Capgo Build에 연결하는 방법을 설명합니다.
번거로운 Git 작업 불필요
Run workflow 또는 Run pipeline을 클릭하세요. Capgo Build는 선택한 브랜치에서 바로 컴파일을 시작합니다.
안전한 입력값
호스트가 지원하는 경우(GitHub / Bitbucket / Azure), 플랫폼 및 빌드 모드는 제한된 선택지를 사용합니다. GitLab 변수는 별도로 정의하지 않는 한 실행 시마다 수정할 수 있습니다. pipeline 입력값 포함 options.
CI와 동일한 Secret 사용
리포지토리에 이미 있는 Capgo Build 인증 정보를 재사용하세요. 로컬 환경에 새로 설정할 필요가 없습니다.
gh secret set -f)CAPGO_TOKEN 마스킹된 secret 또는 CI 변수로 저장GitHub의 액션 탭에서 선언하는 모든 워크플로를 시작할 수 있습니다. 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 실행 해당 브랜치에서 작업이 가능한 경우.
# 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 푸시할 때마다 작업이 실행되는 것을 방지하며, 웹 UI(또는 파이프라인 트리거 토큰)를 통해 필요할 때마다 실행할 수 있습니다.
Bitbucket UI에서 변수를 전달할 수 있도록 커스텀 파이프라인을 사용하세요:
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 → Run pipeline → Custom: capgo-native-build. 저장: CAPGO_TOKEN 및 서명 자료는 다음 위치에: 저장소 설정 → Pipelines → Repository variables.
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 자동 실행 시 파이프라인이 돌아가지 않도록 설정하여, Pipelines → 파이프라인 실행 (또는 webhook으로) 직접 시작할 수 있게 하세요. 만약 Azure Repos의 브랜치 정책으로 인해 파이프라인이 대기열에 추가된다면, 해당 정책을 별도로 비활성화해야 합니다. 그 다음, CAPGO_TOKEN signing 값을 secret으로 설정된 variable group에 추가하세요.
| 입력 | 권장 값 | 참고 사항 |
|---|---|---|
| 플랫폼 | ios, android, both | Matrix 사용 시점 both |
| 모드 | debug, release | 디버그 + --output-upload QA 링크용 |
| iOS 배포 | app_store, ad_hoc | Ad-hoc은 App Store에 제출되지 않습니다 |
다운로드 가능한 QA 아티팩트를 만들려면 debug Android를 다음 항목과 조합하세요 --no-playstore-upload --output-upload 그리고 URL은 다음으로 읽으세요 build last-output.
release 스토어에 제출하는 빌드.inputs — secrets/variables에만 보관하세요.