메뉴로 바로가기

CI UI에서 원시 빌드를 트리거하세요

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 빌드 인증서를 재사용하세요. 노트북에서는 새로운 정보가 없습니다.

GitHub 액션

GitHub 액션

GitHub의 액션 __CAPGO_KEEP_0__의 탭은 __CAPGO_KEEP_0__가 선언하는 workflow를 시작할 수 있습니다. workflow_dispatch.

1. __CAPGO_KEEP_0__ workflow를 추가합니다.

1. __CAPGO_KEEP_0__ workflow를 추가합니다.
github/workflows/capgo-build-manual.yml
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

2. UI에서 실행합니다.

2. UI에서 실행하기
  1. GitHub 저장소 브라우저에서 열기
  2. 가기 작업
  3. 선택 Capgo 빌드 (수동)
  4. 클릭 워크플로우 실행
  5. branch, 플랫폼 및 모드 선택
  6. 확인 워크플로우 실행

권한이 있는 작성 접근 권한이 있는 사용자는 빌드를 시작할 수 있습니다. 샘플 매핑 release 실행되면 GitHub 환경 이름으로 production — 해당 환경을 생성하고 필요한 리뷰어를 추가하여 빌드가 승인待ちになるように 설정하세요. 승인자가 없으면 environment: 작업 중인 환경 보호 규칙은 적용되지 않습니다.

GitLab CI

GitLab CI

GitLab이 Build → Pipelines → Pipeline 실행 해당 branch가 준비되면

# Job fragment for .gitlab-ci.yml
stages:
- 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: never
  1. GitLab 프로젝트 열기
  2. 로 이동 Build → Pipelines → Pipeline 실행
  3. branch 선택
  4. 선택적으로 PLATFORM / BUILD_MODE 이 실행에 변수 설정
  5. pipeline 시작 후 play 버튼 클릭 capgo_native_manual

when: manual __CAPGO_KEEP_0__는 매 푸시마다 작업을 실행하지 않도록 합니다; 웹 UI (또는 pipeline trigger 토큰)가 필요할 때 시작합니다. pipeline trigger 토큰)이 필요할 때 시작합니다.

Bitbucket Pipelines

Bitbucket Pipelines 섹션

Bitbucket UI가 변수를 전달할 수 있도록 사용자 정의 pipeline을 사용하세요:

bitbucket-pipelines.yml
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 → 저장소 변수.

azure-pipelines-capgo-manual.yml
trigger: none # disable CI push triggers
pr: 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 groups

trigger: nonepr: none 자동 CI/PR 실행을 끄고 자동화 파이프라인이 시작되도록 하세요. 파이프라인 → 파이프라인 실행 (또는 웹후크). 프로젝트가 Azure Repos branch 정책을 사용하고 이 파이프라인을 큐에 넣는 경우, 그 정책을 별도로 비활성화하세요. 추가 CAPGO_TOKEN 및 서명 값을 비밀 그룹에 변수로 추가하세요.

입력제안된 값주의
플랫폼ios, android, bothMatrix when both
모드debug, releaseDebug + --output-upload QA 링크
iOS 배포app_store, ad_hocApp Store에 제출하지 않는 Ad-hoc

다운로드 가능한 QA 아티팩트를 위해, Debug Android와 combine --no-playstore-upload --output-upload 및 URL을 읽어보세요. build last-output.

  • GitHub 또는 GitLab의 보호 변수를 사용하여 환경 보호 규칙을 선호하세요. (stores에 제출하는 빌드) release 워크플로우에 서명 비밀번호를 넣지 마세요.
  • — 비밀번호는 비밀/변수에만 넣어주세요. inputs __CAPGO_KEEP_0__에 대한 쓰기 접근 권한이 필요하므로, 저장소 역할 및 팀 권한을 사용하여 워크플로우를 실행할 수 있는 사람을 제한하세요. branch 보호만으로는 workflow를 실행할 수 있는 권한을 제어할 수 없습니다.
  • Limit who can run workflows with repository roles and team permissions (write access is required on GitHub). Branch protection alone does not control ; narrower 그룹만 빌드를 시작할 수 있도록 하려면 워크플로우 내에서 권한 확인을 추가하세요.관련 문서
__CAPGO_KEEP_0__