Rambler / box office adalah layanan dan aplikasi online untuk menjual tiket konser, teater, bioskop, olah raga dan acara lainnya. Kami juga mengembangkan penawaran B2B lainnya untuk mitra: SDK seluler, widget bawaan untuk situs web dan jejaring sosial, sistem CRM untuk penjualan dan analisis audiens, serta sejumlah solusi teknologi. Tapi hari ini kami hanya akan fokus pada WL.
Apa yang terjadi sebelumnya
Setelah menerima permintaan untuk aplikasi WL, manajer proyek harus membentuk ulang dan menyempurnakan semua persyaratan, mentransfernya ke manajer tim. Dia, pada gilirannya, sekali lagi mengklarifikasi dan meminta semua parameter yang diperlukan dan kemudian mendistribusikan pekerjaan tersebut antara desainer, pengembang, dan penguji. Selain itu, untuk membuat aplikasi WL, Anda perlu membuat target baru dalam proyek, menelusuri semua file konfigurasi, mengatur ID yang diperlukan untuk berbagai layanan, mengatur warna, font, gambar, dll.
Dalam kondisi ideal, pengembangan WL baru harus memakan waktu setidaknya 2-3 hari - satu untuk pengembang iOS dan Android, ditambah pengujian. Jika seorang karyawan dihadapkan pada pembuatan aplikasi WL untuk pertama kalinya, maka tugasnya bisa memakan waktu hingga tiga hari untuknya, yang meningkatkan total waktu kerja. Jadi, bagi Rambler / Kasir, membuat aplikasi WL adalah tugas rutin yang berada di pundak pengembang dan menyita waktu berharga mereka.
Apa solusinya
- Itu mungkin untuk membiarkan semuanya apa adanya dan terus menghabiskan waktu pengembang secara teratur pada pembuatan WL "manual".
- Pilihan kedua adalah mengembangkan solusi yang akan mengotomatiskan proses pembuatan WL baru tanpa melibatkan sumber daya pengembangan. Pada saat yang sama, tidak masalah seberapa sering permintaan untuk membuat WL baru diterima, karena tugas akan dilakukan dengan sedikit usaha.
Setelah menganalisis frekuensi permintaan untuk membuat WL baru, kami memutuskan untuk tetap menggunakan opsi kedua. Ini akan memungkinkan Anda untuk menggunakan sumber daya pengembangan hanya sekali, tetapi memberikan perusahaan alat yang memungkinkan Anda untuk melakukan tugas dengan cepat, dengan sedikit usaha dan hanya menggunakan waktu manajer dan dukungan teknis untuk ini.
Bagaimana solusinya bekerja
Kami telah meluncurkan situs dengan panel administratif dalam bentuk layanan mikro - bagian baru di panel admin (CMS) yang ada untuk mengelola penjualan dan pameran Rambler / Kasir. Kami telah mengembangkan skrip untuk iOS dan Android yang membuat aplikasi baru secara lokal dalam proyek dan menyediakan semua parameter yang diperlukan untuk itu.
RabbitMQ digunakan sebagai perantara pesan, dan semua pengaturan disimpan ke arsip dan diterbitkan di Rambler Artifactory. GitLab API kemudian digunakan untuk memulai proses build di repositori seluler.
Di sisi backend, arsip dibentuk dengan file JSON yang berisi informasi yang dimasukkan di panel administratif dan grafik. Pemicu Gitlab CI memanggil pipeline, dalam parameter yang dilewati link ke arsip dari Artifactory. Skrip yang dikonfigurasi pada mesin build dan berada di root proyek diluncurkan dengan input parameter-link.
Skrip untuk iOS
Skrip Ruby membongkar arsip, mengirimkan data yang diperlukan ke seluruh proyek, dan kemudian mentransfer kontrol ke tugas berikutnya, yang melakukan perubahan, memperbarui pod dan merakit perakitan dengan tampilan berikutnya di App Store.
Skrip Android
Joba menarik perpustakaan jq dan unzip yang diperlukan. Pustaka "unzip" membongkar arsip, skrip mengurai json menggunakan "jq", membuat folder baru dalam modul "app" dan memeriksa file .jks untuk aplikasi yang diberikan.
Jika aplikasinya baru, maka file ini dibuat, setelah APK rilis dirakit dan skrip mengirimkannya ke firebase - itu memperbarui aplikasi di Market. Selanjutnya, tugas memeriksa apakah file .jks baru telah muncul, dan, jika ada, maka dorong ke GitLab.
Selain itu, layanan telah disebarkan yang memantau status rakitan yang berjalan dan memperbarui statusnya sehingga Anda dapat memantau proses dan mengontrol masalah yang muncul.
Dalam praktiknya, otomatisasi pembuatan aplikasi WL terlihat seperti ini
- / , , , , , .
- .
- .
- (ID , , , ..).
- ยซ ยป, .
- App Store Google Play CI.
Kami telah mengotomatiskan pembuatan aplikasi WL sebanyak mungkin. Sebelumnya, proses pengembangan itu sendiri memakan waktu 2-3 hari dan mengambil sumber daya pemrogram, tetapi sekarang pengelola menjalankan semua data dalam 15 menit dan setelah sekitar 20 menit perakitan secara otomatis dibuat dan dikirim ke QA untuk pengujian. Mitra kami mendapatkan semua peluang yang tersedia di Rambler / checkout, dan kami menghemat waktu, sumber daya, dan meminimalkan kesalahan.