Tidak Ada Upacara Git
Klik Jalankan alur kerja / Jalankan pipeline. Capgo Build mengompilasi dari cabang yang dipilih.
Salin prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Sekaligus Anda memerlukan file biner iOS atau Android yang ditandatangani tanpa menggabungkan PR atau memotong tag rilis — bangunan 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 dipilih.
Masukan Aman
Platform dan mode pembangunan menggunakan pilihan yang terbatas di mana host mendukung mereka (GitHub / Bitbucket / Azure). Variabel GitLab tetap dapat diedit per jalur kecuali Anda mendefinisikan Masukan Pipa bersama options.
Sama Rahasia CI
Gunakan kembali kredit pembangunan Capgo yang sudah ada di repositori Anda. Tidak ada yang baru di laptop.
gh secret set -f)CAPGO_TOKEN disimpan sebagai rahasia tersembunyi / variabel CIGitHub’s Aksi tab dapat memulai setiap alur kerja yang mengklaim 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 }} \ $EXTRASiapa saja yang memiliki izin menulis membuka akses dapat memulai sebuah build. Peta contoh release berjalan ke sebuah GitHub Lingkungan bernama production – buat lingkungan tersebut dan tambahkan reviewer yang diperlukan agar build menunggu persetujuan. Tanpa environment: di pekerjaan, aturan perlindungan lingkungan tidak pernah berlaku.
GitLab dapat menjalankan sebuah pekerjaan dari Build → Pipelines → Jalankan pipeline ketika pekerjaan tersedia untuk cabang tersebut.
# 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 variabel untuk menjalankan iniwhen: manual menghentikan pekerjaan dari mengeluarkan setiap push; antarmuka web (atau token trigger pipa) token trigger pipa) memulai secara on demand.
Gunakan pipa kustom agar antarmuka Bitbucket dapat melewatkan variabel:
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 Pipelines → Jalankan pipa → Kustom: capgo-native-buildSimpan CAPGO_TOKEN dan bahan tanda tangan di bawah Pengaturan Repositori → Pipelines → Variabel Repositori.
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 dan pr: none tetapkan pipelining tidak secara otomatis menjalankan CI/PR sehingga memulai dari Pipelines → Jalankan pipelining (atau sebuah webhook). Jika proyek menggunakan Azure Repos kebijakan cabang yang mengantre pipelining ini, nonaktifkan kebijakan tersebut secara terpisah. Tambahkan CAPGO_TOKEN dan nilai tanda tangan ke dalam kelompok variabel yang ditandai rahasia.
| Masukan | Nilai yang disarankan | Catatan |
|---|---|---|
| Platform | ios, android, both | Matrix ketika both |
| Mode | debug, release | Debug + --output-upload untuk tautan QA |
| iOS distribusi | app_store, ad_hoc | Ad-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.
release proses yang mengirimkan ke toko.inputs hanya di rahasia/variabel.