Integrasi Pipelines Bitbucket
Copy prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Integrasikan Capgo Live Updates dengan Bitbucket Pipelines untuk memperbarui otomatis aplikasi Anda setiap kali Anda mendorong code perubahan. Panduan ini mencakup pengaturan build otomatis, pengujian, dan alur kerja pengiriman.
Persyaratan
Bab berjudul “Persyaratan”Sebelum mengatur integrasi Bitbucket Pipelines, pastikan Anda memiliki:
- Akun Bitbucket dengan repositori
- Salah satu Capgo dengan aplikasi yang dikonfigurasi
- Node.js dan npm/yarn dikonfigurasi di proyek Anda
Pengaturan Bitbucket Pipelines
Bab berjudul “Pengaturan Bitbucket Pipelines”Langkah 1: Konfigurasi Variabel Repositori
Bagian berjudul “Langkah 1: Konfigurasi Variabel Repository”Pertama-tama, atur variabel-variabel yang diperlukan di repository Bitbucket Anda:
- Navigasikan ke repository Bitbucket Anda
- Pergi ke Pengaturan repository → Pipeline → Variabel repository
- Tambahkan variabel-variabel berikut:
| Nama Variabel | Nilai | Ditambahkan Keamanan |
|---|---|---|
CAPGO_TOKEN | Token Capgo API Anda | ✅ Ya |
Salin ke clipboard
Pengaturan LanjutanPengaturan dasar yang mengirimkan ke produksi setiap push ke cabang utama:
# bitbucket-pipelines.yml - Simple Configurationimage: node:22
pipelines: branches: main: - step: name: Build and Deploy to Production script: - npm ci - npm run test - npm run build - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel production artifacts: - dist/**Pengaturan Lanjutan
Bagian berjudul “Maju”Deployan Cabang Fitur
Bagian berjudul “Deployan Cabang Fitur”Deploy cabang fitur ke saluran uji untuk tinjauan dan pengujian:
# Feature branch deploymentpipelines: branches: feature/*: - step: name: Deploy Feature Branch script: - npm ci - npm run test - npm run build - BRANCH_NAME=$(echo $BITBUCKET_BRANCH | sed 's/[^a-zA-Z0-9-]/-/g') - CHANNEL_NAME="feature-$BRANCH_NAME" - npm install -g @capgo/cli - npx @capgo/cli channel create $CHANNEL_NAME --apikey $CAPGO_TOKEN || true - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel $CHANNEL_NAME artifacts: - dist/**Menggunakan Enkripsi
Bagian berjudul “Menggunakan Enkripsi”Jika Anda menggunakan Capgo’s fitur enkripsi, Anda perlu menyimpan kunci pribadi Anda dengan aman di lingkungan CI/CD Anda.
Setelah mengatur kunci enkripsi lokal, tambahkan kunci pribadi Anda ke variabel Bitbucket:
# Display your private key content (copy this output)cat .capgo_key_v2Tambahkan konten ini sebagai CAPGO_PRIVATE_KEY dalam variabel repository Bitbucket Anda (tandai sebagai terenkripsi), lalu gunakan di pipa:
# Deploy with encryption- step: name: Deploy to Capgo with Encryption script: - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --key-data-v2 "$CAPGO_PRIVATE_KEY" --channel productionBab berjudul “Konfigurasi Multi-Channel”
Untuk informasi yang lebih komprehensif tentang mengatur dan mengelola beberapa saluran pengiriman, lihat dokumentasiDokumentasi Saluran Konfigurasi lengkap dengan beberapa lingkungan dan pengiriman permintaan pull: .
Salin ke papan klip
# bitbucket-pipelines.yml - Advanced Multi-Channel Configurationimage: node:22
definitions: steps: - step: &build-step name: Build Application script: - npm ci - npm run test - npm run build artifacts: - dist/**
- step: &deploy-step name: Deploy to Capgo script: - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel $CHANNEL_NAME
pipelines: branches: main: - step: <<: *build-step - step: <<: *deploy-step name: Deploy to Production deployment: production trigger: manual script: - export CHANNEL_NAME=production - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel $CHANNEL_NAME
develop: - step: <<: *build-step - step: <<: *deploy-step name: Deploy to Development deployment: development script: - export CHANNEL_NAME=development - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel $CHANNEL_NAME
pull-requests: '**': - step: <<: *build-step - step: name: Deploy PR to Test Channel script: - CHANNEL_NAME="pr-$BITBUCKET_PR_ID" - npm install -g @capgo/cli - npx @capgo/cli channel create $CHANNEL_NAME --apikey $CAPGO_TOKEN || true - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel $CHANNEL_NAME artifacts: - dist/**Pipelajalan Multi-Environment
Judul Bagian “Pipelajalan Multi-Environment”Untuk skenario pengiriman kompleks dengan lingkungan pengujian dan produksi:
# Multi-environment pipelineimage: node:22
pipelines: branches: main: - step: name: Build script: - npm ci - npm run test - npm run build artifacts: - dist/** - step: name: Deploy to Staging deployment: staging script: - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel staging - step: name: Deploy to Production deployment: production trigger: manual script: - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel production
develop: - step: name: Build and Deploy to Development script: - npm ci - npm run test - npm run build - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel development artifacts: - dist/**Strategi Pengiriman Berdasarkan Cabang
Judul Bagian “Strategi Pengiriman Berdasarkan Cabang”Tetapkan cabang yang berbeda untuk saluran yang tepat:
# Dynamic channel deploymentimage: node:22
definitions: scripts: - script: &determine-channel | if [ "$BITBUCKET_BRANCH" = "main" ]; then export CHANNEL_NAME="production" elif [ "$BITBUCKET_BRANCH" = "develop" ]; then export CHANNEL_NAME="staging" else export CHANNEL_NAME="development" fi echo "Deploying to channel: $CHANNEL_NAME"
pipelines: default: - step: name: Build and Deploy script: - npm ci - npm run test - npm run build - *determine-channel - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel $CHANNEL_NAME artifacts: - dist/**Eksekusi Pipelajalan Paralel
Judul Bagian “Eksekusi Pipelajalan Paralel”Optimalkan waktu pembangunan dengan langkah-langkah paralel:
# Parallel execution pipelineimage: node:22
pipelines: branches: main: - parallel: - step: name: Run Tests script: - npm ci - npm run test - step: name: Lint Code script: - npm ci - npm run lint - step: name: Build Application script: - npm ci - npm run build artifacts: - dist/** - step: name: Deploy to Production deployment: production script: - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel productionPraktik Keamanan Terbaik
Judul Bagian “Praktik Keamanan Terbaik”Variabel Repositori
Judul Bagian “Variabel Repositori”- Variabel Terlindungi: Selalu tandai token API sebagai terlindungi
- Variabel Lingkungan: Gunakan variabel spesifik penggunaan saat diperlukan
- Kontrol Akses: Batasi akses repositori hanya untuk anggota tim yang berwenang
- Rotasi Token: Rotasi secara teratur token Capgo API Anda
Lingkungan Pengembangan
Judul Bagian “Lingkungan Pengembangan”Konfigurasi lingkungan pengembangan untuk keamanan yang lebih baik:
# Deployment with environment restrictionspipelines: branches: main: - step: name: Deploy to Production deployment: production trigger: manual script: - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel productionPantauan dan Pemberitahuan
Judul Bagian “Pantauan dan Pemberitahuan”Integrasi Slack
Judul Bagian “Integrasi Slack”Tambahkan pemberitahuan Slack ke pipa Anda:
# Pipeline with Slack notificationspipelines: branches: main: - step: name: Build and Deploy script: - npm ci - npm run test - npm run build - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel production after-script: - | if [ $BITBUCKET_EXIT_CODE -eq 0 ]; then curl -X POST -H 'Content-type: application/json' \ --data '{"text":"✅ Capgo deployment successful for '$BITBUCKET_BRANCH'"}' \ $SLACK_WEBHOOK_URL else curl -X POST -H 'Content-type: application/json' \ --data '{"text":"❌ Capgo deployment failed for '$BITBUCKET_BRANCH'"}' \ $SLACK_WEBHOOK_URL fiPemberitahuan Email
Judul Bagian “Pemberitahuan Email”Konfigurasi notifikasi email melalui fitur bawaan Bitbucket atau menggunakan layanan eksternal:
# Email notification step- step: name: Send Notification script: - | curl -X POST \ -H "Content-Type: application/json" \ -d '{ "to": "team@yourcompany.com", "subject": "Capgo Deployment Status", "body": "Deployment of '$BITBUCKET_BRANCH' completed with status: '$BITBUCKET_EXIT_CODE'" }' \ $EMAIL_SERVICE_URL condition: result: [successful, failed]Pengaturan
Bagian berjudul “Pengaturan”Masalah Umum
Bagian berjudul “Masalah Umum”Pipelain gagal dengan “Capgo CLI tidak ditemukan”:
# Debug CLI installation- step: name: Debug CLI script: - npm install -g @capgo/cli - which capgo || echo "Capgo CLI not found" - npx @capgo/cli --versionKesalahan autentikasi:
# Verify token configuration- step: name: Debug Auth script: - | if [ -z "$CAPGO_TOKEN" ]; then echo "CAPGO_TOKEN is not set" exit 1 fi echo "Token length: ${#CAPGO_TOKEN}"Tidak ditemukan artefak build:
# List build outputs- step: name: Debug Build script: - ls -la dist/ - find dist/ -type f -name "*.js" -o -name "*.html"Alur Debug
Section berjudul “Alur Debug”Tambahkan informasi debugging untuk menyelesaikan masalah:
# Debug pipelinepipelines: branches: main: - step: name: Debug Information script: - echo "Branch: $BITBUCKET_BRANCH" - echo "Commit: $BITBUCKET_COMMIT" - echo "Build: $BITBUCKET_BUILD_NUMBER" - env | grep BITBUCKET_ | sort - step: name: Build and Deploy script: - npm ci - npm run test - npm run build - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel productionValidasi Alur
Section berjudul “Validasi Alur”Aktifkan validasi alur untuk menangkap kesalahan konfigurasi:
# Enable pipeline validationoptions: docker: true size: 2x
pipelines: branches: main: - step: name: Validate Pipeline script: - echo "Pipeline validation successful" - step: name: Build and Deploy script: # ... deployment stepsLangkah Selanjutnya
Section berjudul “Langkah Selanjutnya”- Pelajari tentang Saluran Untuk mengelola berbagai lingkungan pengembangan
- Explore Penyimpanan Kustom untuk skenario pengembangan lanjutan
- Tetapkan Enkripsi untuk pengembangan yang aman
- Konfigurasi Perbarui perilaku untuk mengatur bagaimana perbarui diterapkan
Dengan integrasi Pipelines Bitbucket, Anda dapat mengotomatisasi Capgo Anda dan memastikan pembaruan yang konsisten dan dapat diandalkan untuk pengguna aplikasi seluler Anda.
Lanjutkan dari Integrasi Pipelines Bitbucket
Bagian berjudul “Teruskan dari Integrasi Pipelines Bitbucket”Jika Anda menggunakan Integrasi Pipelines Bitbucket untuk merencanakan otomatisasi CI/CD, hubungkannya dengan Capgo CI/CD untuk alur kerja produk di Capgo CI/CD, Capgo Pembangunan Native untuk alur kerja produk di Capgo Pembangunan Native, Capgo Integrasi untuk alur kerja produk di Capgo Integrasi, Integrasi CI/CD untuk detail implementasi di Integrasi CI/CD, dan Aksi Integrasi GitHub untuk detail implementasi di Aksi Integrasi GitHub