Tidak Ada Upacara Git
Klik Jalankan alur kerja / Jalankan pipeline. Capgo Build mengompilasi dari cabang yang Anda pilih.
Copy prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
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.
gh secret set -f)CAPGO_TOKEN disimpan sebagai rahasia tersembunyi / variabel CIGitHub’s Aksi tab dapat memulai setiap alur kerja yang mengumumkan 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 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.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 memicu setiap push; UI web (atau token pemicu pipa) memulai secara on demand.Dimulai secara on demand.
Gunakan pipeline kustom agar UI Bitbucket dapat melewarkan 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 Alur → Jalankan alur → Kustom: capgo-native-build. Simpan CAPGO_TOKEN dan material tanda tangan di bawah Pengaturan Repositori → Alur → 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 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.
| Masukan | Nilai yang Disarankan | Catatan |
|---|---|---|
| Platform | ios, android, both | Kombinasi ketika both |
| Mode | debug, release | Debug + --output-upload untuk tautan QA |
| pengiriman iOS | 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 pembangunan yang mengirimkan ke toko.inputs hanya di rahasia/variabel.