Tidak Ada Upacara Git
Klik Run workflow / Run pipeline. Capgo Pembangunan mengompilasi dari cabang yang Anda pilih.
Salin setup prompt dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Sekaligus Anda mungkin membutuhkan file biner iOS atau Android yang ditandatangani tanpa melakukan merge PR atau memotong tag rilis — build QA, resubmit ke toko, atau TestFlight satu kali. Setiap host utama code dapat memulai pipeline dari UI webnya. Panduan ini menjelaskan cara menghubungkan UI tersebut ke Capgo Build.
Tidak Ada Upacara Git
Klik Run workflow / Run pipeline. Capgo Pembangunan mengompilasi dari cabang yang Anda pilih.
Input yang Aman
Platform dan mode pembangunan menggunakan pilihan yang terbatas di mana host mendukung mereka (GitHub / Bitbucket / Azure). Variabel GitLab tetap dapat diedit per jalankan kecuali Anda mendefinisikan Input Jalur dengan options.
Sama Rahasia sebagai CI
Gunakan kembali Capgo Kredensial 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 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 pun dengan Tulis akses dapat memulai sebuah build. Contoh peta yang 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 Pembangunan → Pipa → Jalankan pipa 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 mencegah pekerjaan dari mengeluarkan pada setiap push; antarmuka web (atau token pengaktif pipeline) token pengaktif pipeline) memulai pada permintaan.
Gunakan pipeline kustom agar antarmuka UI 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 pipeline → Kustom: capgo-native-build. Simpan CAPGO_TOKEN dan materi 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 aliran pipa tidak secara otomatis menjalankan CI/PR sehingga memulai dari Pipelines → Jalankan pipeline (atau webhook). Jika proyek menggunakan Azure Repos kebijakan cabang yang mengantre pipeline ini, nonaktifkan kebijakan tersebut secara terpisah. Tambahkan CAPGO_TOKEN dan nilai tanda tangan ke dalam kelompok variabel yang ditandai rahasia.
| Input | 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 Mengirimkan ke App Store |
Untuk Artefak QA yang Dapat Diunduh, Gabungkan 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.