StudySmarter - Sekolah & uni
Aplikasi pendidikan di mana perubahan les, kursus, dan langganan memerlukan tinjauan dari stakeholders.
- Google Play menginstal
- 6.5Juta
- Nilai toko
- 4.8
Your CI uploads each pull request's web build to its own Capgo channel. Reviewers scan a QR code or switch channels in the app to try it on their device, and the channel is deleted when the PR closes. Changes to native code still need a new build.
Dapatkan dukungan manusia dari Martin
Masalah
Pengembang membuka PR
Perubahan sudah siap untuk disetujui, tapi tidak ada yang bisa mencobanya di ponsel.
Buat, tandatangani, dan unggah
Seseorang membuat biner native untuk cabang, menandatangani, mengunggah ke TestFlight atau jalur testing Play, dan menunggu prosesnya.
Undang dan instal
Pengulas perlu ditambahkan sebagai tester dan menginstal build yang tepat.
Ulangi untuk setiap perbaikan
Setiap komentar ulasan yang mengubah code berarti build lain, unggah lain, dan instal lain.
Setiap putaran ulasan menunggu build native, bahkan ketika hanya JavaScript yang berubah.
Setiap build
Menunggu proses penyimpanan
Setiap build yang Anda unggah ke TestFlight atau jalur pengujian Play diproses sebelum tester dapat menginstalnya. Hal itu terjadi untuk setiap build.
Setiap PR
Membutuhkan build asli untuk tes
Tanpa pembaruan langsung, reviewer hanya dapat mencoba cabang setelah seseorang membangun, menandatangani, dan mengunggah biner baru, bahkan untuk perubahan web saja.
Keterlambatan feedback
Pengujian terjadi setelah penulis melanjutkan
Ketika ulasan menunggu build, feedback datang lebih lambat, penulis sedang melakukan task lain, dan cabang beralih dari utama.
Bagaimana cara kerjanya
Empat langkah CI: atur kunci yang terbatas sekali, unggah per push, bagikan pratinjau, bersihkan pada tutup. Setiap perintah di bawah ini dari dokumen Capgo.
Seorang administrator membuat kunci Pratinjau Aplikasi API untuk CI. Kunci ini dapat membuat saluran pratinjau dan mengunggah bundle, tetapi tidak dapat mengubah saluran default atau produksi. Pratinjau diaktifkan sekali per aplikasi.
# once, run by an admin (not the preview key)
npx @capgo/cli@latest app set com.example.app --preview
Kunci Pratinjau Aplikasi API
On each push, CI builds the web app and uploads it with a unique bundle version. bundle upload --channel creates the pr-<number> channel if it does not exist and links the bundle to it.
npx @capgo/cli@latest bundle upload com.example.app \
--apikey "$CAPGO_PREVIEW_KEY" \
--path ./dist \
--channel "pr-$PR_NUMBER" \
--bundle "1.2.3-pr.$PR_NUMBER.$GITHUB_RUN_NUMBER"
Pra-Penawaran PR di dokumen kanal
get-qr prints a QR code for the channel, or the preview URLs with --url, so CI can add them to a PR comment.
npx @capgo/cli@latest get-qr com.example.app \
--channel "pr-$PR_NUMBER" \
--apikey "$CAPGO_PREVIEW_KEY" \
--url
Hapus saluran ketika PR ditutup
Jalankan ini pada event PR ditutup. Dengan kunci Pratinjau Aplikasi, hanya menghapus saluran dan bundle yang terkait yang dibuat oleh kunci tersebut.
npx @capgo/cli@latest channel delete \
"pr-$PR_NUMBER" com.example.app \
--apikey "$CAPGO_PREVIEW_KEY" \
--delete-bundle \
--success-if-not-found
saluran CLI referensi
Kedua memerlukan saluran yang memungkinkan penugasan sendiri. Kunci Penglihatan Aplikasi tidak menetapkan itu, jadi dengan kunci itu, bagikan penglihatan QR atau atur penggantian perangkat di konsol.
Turn on the shake menu in internal builds. Testers shake the device to open Capgo's test menu, and the shake channel selector lets them pick a channel.
// capacitor.config.ts (internal builds)
CapacitorUpdater: {
shakeMenu: true,
}
Tambahkan bidang kanal ke layar pengaturan pengembang dan panggil setChannel() dengan nama kanal PR.
import { CapacitorUpdater } from '@capgo/capacitor-updater'
await CapacitorUpdater.setChannel({
channel: 'pr-123',
triggerAutoUpdate: true,
})
Tetapkan Saluran
Add a channel field to a developer settings screen and call setChannel() with the PR channel name.
Cari solusi yang sesuai dengan kebutuhan tim Anda
Aplikasi yang dibangun dengan Capacitor
Learning, event, and community apps can have onboarding, practice, live-session, and subscription changes under review at the same time. PR previews let product, QA, and support inspect a mobile-ready build before merge.
Aplikasi pendidikan di mana perubahan les, kursus, dan langganan memerlukan tinjauan dari stakeholders.
Aplikasi partisipasi hidup di mana arus acara harus diuji sebelum merge.
Aplikasi komunitas ini, layar turnamen dan analisis mendapat manfaat dari pratinjau perangkat.
Bukti pelanggan
CTO, Swasta
"Mengatur semuanya membutuhkan kurang dari sehari. Rollout melalui saluran memungkinkan saya untuk menguji di perangkat saya sendiri sebelum sesuatu mengenai pengguna produksi."
nethead emeritors
“Penghargaan besar atas plugin pembaruan. Ini berfungsi dengan lancar bagi saya, dan pembaruan live adalah akselerator cepat untuk mengembalikan putaran tes.”
Pengembang, Webincode
“Dengan kemampuan menambahkan ID perangkat ke beberapa kelompok dan menerapkan perubahan ke hanya beberapa kelompok, ini adalah penyelamat nyawa.”
Pertanyaan
Jawaban jelas untuk mereka yang mengatur CI dan mereka yang melakukan review.
Not when the PR only changes the web layer. Reviewers install the app once, and each PR's JavaScript, HTML, CSS, and assets go to its own channel. If the PR adds a plugin or changes native code, it needs a native build. Run build needed in CI to detect that.
Bisa CI key menyentuh saluran produksi kita?Tidak dengan kunci App Preview API. Ini dapat membuat saluran pratinjau, mengunggah bundle, dan menghapus hanya saluran dan bundle yang dibuat. Ini tidak dapat mengubah saluran default atau utama. Di GitHub Aksi, jalankan pekerjaan pada pull_request, bukan pull_request_target, dan batasi pada PR dari repositori yang sama.
Kunci App Preview APISeorang admin mengaktifkan pratinjau sekali dengan app set --preview. Setelah itu, get-qr mencetak QR code untuk saluran PR, dan --url mencetak URL pratinjau web dan tautan dalam. Pasang mereka di komentar PR.
Referensi get-qrTambahkan pekerjaan pada event pull request ditutup yang menjalankan channel delete dengan --delete-bundle dan --success-if-not-found. Dengan kunci App Preview, itu menghapus saluran dan bundle yang terkait dengan itu. Bundle dari push sebelumnya dapat dihapus dengan cleanup bundle, menggunakan kunci yang memiliki hak hapus.
Referensi saluran CLIYa. Langkah-langkahnya adalah Capgo CLI perintah, sehingga mereka berjalan di CI mana pun. Dokumen memiliki panduan integrasi untuk GitHub Aksi, GitLab CI, Bitbucket Pipelines, dan Azure DevOps.
Integrasi CI/CDTambahkan langkah unggah, QR, dan pembersihan ke CI Anda dan coba mereka pada aplikasi Anda selama masa percobaan gratis.
dukungan manusia dari Martin
Coba gratis 14 hari, tidak perlu kartu kredit. Perubahan native masih memerlukan build baru.