Lebih cepat ke konten

Trigger Build Nirkabel dari Antarmuka CI

Kadang-kadang Anda membutuhkan file biner iOS atau Android yang ditandatangani tanpa menggabungkan PR atau memotong tag rilis — sebuah build QA, resubmit toko, atau TestFlight satu kali. Setiap host utama code dapat memulai pipeline dari UI webnya. Panduan ini menunjukkan cara menghubungkan UI tersebut ke Capgo Build.

Tidak Ada Upacara Git

Klik Jalankan alur kerja / Jalankan pipeline. Capgo Build mengompilasi dari cabang yang Anda pilih.

Masukan yang Aman

Platform dan mode build menggunakan pilihan yang terbatas di mana host mendukungnya (GitHub / Bitbucket / Azure). Variabel GitLab tetap dapat diedit per jalankan kecuali Anda mendefinisikan Masukan Pipeline Dengan options.

Sama Rahasia sebagai CI

Reuse Capgo kredit pembangunan yang sudah ada di repositori Anda. Tidak ada yang baru di laptop.

GitHub’s Aksi tab dapat memulai setiap alur kerja yang mengumumkan workflow_dispatch.

github/alur-kerja/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
  1. Buka repositori GitHub di browser
  2. Pergi ke Aksi
  3. Pilih Capgo Build (Manual)
  4. Klik Jalankan alur kerja
  5. Memilih cabang, platform, dan mode
  6. Pengesahan Jalankan alur kerja

Siapa pun dengan menulis akses dapat memulai bangunan. Contoh peta release berjalan ke lingkungan GitHub yang dinamai production --- buat lingkungan tersebut dan tambahkan reviewer yang diperlukan agar bangunan menunggu persetujuan. Tanpa environment: di tempat kerja, aturan perlindungan lingkungan tidak pernah berlaku.

GitLab dapat menjalankan pekerjaan dari Build → Pipelines → Jalankan pipeline ketika pekerjaan tersedia untuk cabang tersebut.

# 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. Buka proyek GitLab
  2. Pergi ke Build → Pipelines → Jalankan pipeline
  3. Pilih cabang
  4. Opsional, atur PLATFORM / BUILD_MODE variabel untuk menjalankan ini
  5. Mulai pipa, kemudian klik tombol main di capgo_native_manual

when: manual menghentikan pekerjaan dari memicu setiap push; UI web (atau token pemicu pipa) memulai secara on demand.Dimulai secara on demand.

Judul bagian “Pipa Bitbucket”

Section titled “Bitbucket Pipelines”

Gunakan pipeline kustom agar UI Bitbucket dapat melewarkan variabel:

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"

Jalankan dari Alur → Jalankan alur → Kustom: capgo-native-build. Simpan CAPGO_TOKEN dan material tanda tangan di bawah Pengaturan Repositori → Alur → Variabel Repositori.

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: none and pr: none teruskan aliran pipa dari otomatis CI/PR jalankan sehingga mulai dari Alur → Jalankan alur (atau webhook). Jika proyek menggunakan kebijakan cabang Azure Repos yang mengantre alur ini, nonaktifkan kebijakan tersebut secara terpisah. Tambahkan CAPGO_TOKEN dan nilai tanda tangan ke sebuah kelompok variabel yang ditandai rahasia.

MasukanNilai yang DisarankanCatatan
Platformios, android, bothKombinasi ketika both
Modedebug, releaseDebug + --output-upload untuk tautan QA
pengiriman iOSapp_store, ad_hocAd-hoc tidak pernah mengirimkan ke App Store

Untuk artefak QA yang dapat diunduh, kombinasikan debug Android dengan --no-playstore-upload --output-upload dan baca URL dengan build last-output.

  • Lebih baik gunakan aturan perlindungan lingkungan (GitHub) atau variabel yang dilindungi (GitLab) untuk release proses pembangunan yang mengirimkan ke toko.
  • Jangan masukkan kata sandi tanda tangan ke dalam alur kerja inputs hanya di rahasia/variabel.
  • Penggunaan alur kerja harus dibatasi dengan peran repository dan izin tim (akses tulis diperlukan pada GitHub). Perlindungan cabang sendiri tidak mengontrol Jalankan alur kerja; tambahkan pengecekan otorisasi dalam alur kerja jika hanya kelompok yang lebih terbatas yang dapat memulai pembangunan.