Organisasi
└── App                    satu per package ID, misalnya com.acme.demoapp
    ├── Channel            stable (selalu ada), staging, beta, …
    └── Release            1.4.0+12, 1.5.0+13, …
        └── Patch          1, 2, 3, …  masing-masing terbit di satu channel atau lebih
  

Organisasi

Semua hal di Retrojet berada di dalam organisasi. Saat mendaftar, satu organisasi dibuat untuk kamu, dan kamu menjadi Owner-nya. Organisasi lain bisa menambahkan kamu sebagai anggota, jadi satu akun bisa bekerja di beberapa organisasi.

RoleBisa melakukan
OwnerSemua yang bisa dilakukan Admin, ditambah menjadikan seseorang Owner atau mencabut role itu.
AdminMengganti nama organisasi, menambah dan mengeluarkan anggota, mengubah role, membuat dan menghapus app dan channel, menghapus release.
MemberMelihat semuanya, membuat release dan patch lewat CLI, promote dan rollback patch.

Organisasi selalu punya minimal satu Owner. Yang bisa ditambahkan hanya orang yang sudah punya akun Retrojet, dan menambah anggota butuh paket berbayar (lihat Paket dan batas).

App

App adalah satu project Flutter, dikenali dari package ID-nya (applicationId di Android, bundle ID di platform Apple). Package ID unik di dalam satu organisasi.

Setiap app punya app ID berupa UUID. retrojet init menuliskannya ke retrojet.yaml di project kamu, dan app kamu memakainya untuk meminta patch.

Channel

Channel adalah kelompok device yang menerima patch bersamaan. Setiap app langsung punya stable, yang tidak bisa dihapus. Tambahkan channel lain, seperti staging atau beta, dari console untuk menguji patch di sedikit device sebelum semua pengguna menerimanya.

Channel yang pernah dipakai untuk menerbitkan patch juga tidak bisa dihapus.

Release

Release adalah build app yang kamu kirim lewat store, misalnya versi 1.4.0+12. CLI meng-upload-nya ke Retrojet supaya patch berikutnya bisa dibuat di atasnya. Release mencatat versi Flutter yang dipakai untuk build, dan satu entri per platform (android, ios, …).

Selama CLI masih meng-upload, platform berstatus draft. Setelah upload selesai, statusnya menjadi active.

Menghapus release juga menghapus semua patch-nya, dan tidak bisa dibatalkan. Hanya Owner dan Admin yang bisa, dan hanya dari console. Untuk menghentikan satu patch yang bermasalah, pakai rollback.

Patch

Patch adalah perubahan kode Dart untuk satu release. Nomor patch dihitung per release: 1, 2, 3, …

StatusArtinya
draftDibuat oleh CLI, upload belum selesai. Device tidak pernah melihatnya.
publishedSudah terbit di minimal satu channel.

Setiap file patch ditandatangani saat di-upload. Patch hanya berlaku untuk release tempat ia dibuat: device dengan 1.4.0+12 tidak pernah menerima patch untuk 1.5.0+13.

Promote

Publish mengirim patch ke channel pertamanya. Promote menambahkan patch yang sama ke channel lain, misalnya dari staging ke stable. Isinya persis sama, dan promote tidak dihitung sebagai publish baru di paket kamu.

Rollback

Rollback menarik patch yang sudah terbit dari satu channel, sehingga device di channel itu tidak lagi menerimanya. Channel lain tidak terpengaruh. Rollback tersedia di console, jadi siapa pun di tim bisa bertindak lewat browser.

Device dan install

App kamu di device pengguna mengecek patch untuk release dan channel-nya, mengunduhnya, lalu melaporkan hasilnya: download, install, gagal install, atau gagal update. Laporan ini menjadi angka install dan device di halaman Usage.