Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Continuous Integration
Code

Pengiriman Berkelanjutan Dengan fastlane untuk iOS

by
Difficulty:IntermediateLength:MediumLanguages:

Indonesian (Bahasa Indonesia) translation by Ridho Anbia Habibullah (you can also view the original English article)

Pengantar

Pengembang iOS telah cukup beruntung untuk menikmati dan bekerja dengan platform pengembangan yang kuat yang telah disediakan oleh Apple, terutama Xcode. Ini telah membantu menginspirasi aplikasi yang menarik dan kuat yang dinikmati konsumen di App Store saat ini. Xcode menyediakan IDE intuitif dan itu, ditambah dengan munculnya Swift sebagai bahasa pemrograman yang benar-benar modern, telah membuat program pada kenikmatan platform.

Namun, sementara aspek pengembangan alur kerja adalah kohesif, alur kerja rusak ketika datang ke tugas-tugas yang terlibat dalam menangani penandatanganan kode dan mendistribusikan aplikasi. Ini telah menjadi masalah lama untuk platform, dan sementara itu telah meningkat secara bertahap, itu masih menjadi hambatan bagi hampir semua pengembang. Hal ini dalam banyak hal menghambat pengiriman aplikasi yang terus-menerus - artinya, kebutuhan untuk membangun dan mendistribusikan aplikasi secara manual setiap hari secara internal dan eksternal sangat rawan kesalahan dan melelahkan.

Di situlah fastlane masuk. Paket fastlane alat membuat mendistribusikan aplikasi jauh lebih mudah, memungkinkan pengembang untuk fokus pada aplikasi mereka dan membiarkan perkakas mengambil tugas-tugas seperti mengelola profil penyediaan dan sertifikat dan membangun, mengemas dan mendistribusikan aplikasi. Salah satu toolchain fastlane adalah solusi turnkey Continuous Delivery otomatis sisi klien yang dapat dimanfaatkan pengembang iOS untuk memastikan aplikasi mereka diuji dan divalidasi secara terus-menerus oleh orang lain, dengan intervensi manusia minimal.

The fastlane logo

Dikembangkan oleh Felix Krause (krausefx), fastlane terdiri dari rangkaian alat sumber terbuka yang menyatukan otomatisasi membangun dan menerapkan aplikasi iOS melalui baris perintah, serta mengintegrasikan dengan berbagai pustaka pihak ketiga selain API milik Apple sendiri. Sebagai alat kultus yang kultus di antara pengembang iOS, dan didukung oleh Google, fastlane akan menghemat banyak waktu dengan mengotomatiskan banyak tugas harian dan mingguan manual Anda.

Dalam tutorial ini, kita akan mengeksplorasi dua fitur yang sangat populer dari fastlane: penandatanganan kode dan pengemasan / distribusi aplikasi.

Tujuan dari Tutorial ini

Tutorial ini akan memperkenalkan Anda ke toolchain fastlane dan menunjukkan kepada Anda bagaimana memanfaatkan alat untuk mengotomatisasi dan mengoptimalkan alur kerja pengembangan iOS Anda. Anda akan belajar:

  • dasar-dasar memulai dengan fastlane
  • kode penandatanganan aplikasi Anda
  • mengemas dan mendistribusikan aplikasi Anda

Asumsi Pengetahuan

Tutorial ini mengasumsikan Anda memiliki pengetahuan tentang pengembangan Swift dan iOS, meskipun Anda tidak akan melakukan pengkodean Swift dalam tutorial ini. Anda akan menggunakan command prompt untuk membuat dan menjalankan perintah fastlane.

Memulai Dengan fastlane

Toolchain fastlane pada dasarnya ditulis dalam Ruby dan terhubung ke Apple Developer Center dan iTunes Connect API melalui pustaka Ruby spaceship, mengautentikasi dan mengotorisasi pengguna secara aman. Ini beroperasi di sekitar pembuatan file konfigurasi, yang disebut Fastfile, yang dapat Anda anggap sebagai file resep di mana Anda mengatur tindakan yang ingin Anda lakukan ketika membangun aplikasi Anda. Tindakan ini diatur ke dalam 'jalur'. Misalnya, Anda akan mengonfigurasi jalur untuk diterapkan ke App Store, dan jalur lain untuk didistribusikan ke TestFlight. Jalur dapat terdiri dari tindakan individu berikut:

  1. membangun proyek Anda
  2. incrementing nomor build
  3. menjalankan tes unit
  4. mengirim .ipa Anda ke TestFlight
  5. mengirim pesan Slack ke tim Anda

Anda dapat menganggap lajur sebagai fungsi yang terkait tugas grup. Anda bahkan dapat memanggil jalur metode dari yang lain, untuk lebih memisahkan dan menggunakan kembali jalur Anda.

Namun sebelum kita melakukan tindakan fastlane, Anda perlu mengatur lingkungan Anda untuk menggunakan fastlane.

Menyiapkan fastlane

Pastikan Anda memiliki Xcode versi terbaru yang terpasang. Anda juga harus menginstal Xcode Tools di sistem Anda. Anda dapat memeriksa apakah Xcode Tools diinstal dengan memasukkan yang berikut di terminal:

Jika Anda mendapatkan kembali jalur lengkap ke folder pengembang Anda, maka Anda siap untuk pergi. Anda harus melihat sesuatu seperti berikut ini.

Jika tidak, mari dapatkan versi terbaru alat baris perintah Xcode dengan mengetik berikut ini, di terminal:

Anda harus mendapatkan perintah yang serupa dengan yang berikut:

gcc command prompt

Selanjutnya, Anda akan perlu menginstal Homebrew. Homebrew adalah manajer paket yang kuat yang memungkinkan Anda menginstal ratusan alat sumber terbuka, fastlane di antara mereka. Untuk menginstal Homebrew, ketikkan yang berikut di baris perintah:

Setelah Homebrew diatur, Anda dapat menginstal fastlane dengan memasukkan:

Perhatikan bahwa jika Anda memilih untuk tidak menginstal Homebrew, Anda dapat menginstal fastlane langsung di terminal via ruby, dengan memasukkan berikut:

Untuk mengonfirmasi fastlane sudah diinstal dan siap di sistem Anda, masukkan perintah berikut di terminal untuk menginisialisasi file konfigurasi fastlane baru:

Anda akan diminta untuk memasukkan ID Apple Anda sehingga fastlane dapat terhubung ke iTunes Connect secara mulus. Isi pertanyaan cepat lainnya dan Anda akan melihat sub direktori baru /fastlane yang dibuat untuk Anda. Anda terutama akan berkepentingan dengan file konfigurasi /fastlane/Fastfile, di mana Anda akan mengatur semua tindakan fastlane Anda.

Lihatlah file itu dengan cepat. Anda akan bekerja dengan itu selama beberapa bagian berikutnya, dimulai dengan mengkonfigurasi fastlane ke kode masuk ke aplikasi Anda.

Kode Menandatangani Aplikasi Anda

Salah satu fitur paling populer dari fastlane sebagai toolchain adalah kemampuan untuk menandai aplikasi Anda secara otomatis, menghindari cobaan karena harus berurusan dengan sertifikat dan profil penyediaan. Ini bisa menjadi pekerjaan yang banyak dan, lebih lagi, ketika Anda mengubah mesin atau mengemudikan anggota tim baru, Anda harus melakukannya lagi. Fastlane menyediakan tiga tindakan yang membantu Anda mengelola penandatanganan kode: cert, sigh, dan match.

cert, sementara berguna sendiri, biasanya bekerja bersama-sama dengan mendesah untuk menyelesaikan proses penandatanganan kode aplikasi Anda, dengan mengelola sertifikat dan profil penyediaan masing-masing. Ini tidak hanya menciptakan sertifikat untuk Anda tetapi secara otomatis akan menghasilkan permintaan penandatanganan kunci pribadi yang baru ketika diperlukan, serta mengambil dan menginstal sertifikat ke keychain Anda, memastikan bahwa sertifikat Anda valid setiap kali Anda menjalankan cert.

mendesah membuat profil penyediaan yang sesuai untuk sertifikat Anda untuk pengembangan, Ad Hoc, atau App Store. Seperti halnya cert, sigh memastikan profil provisioning ini tetap terkini, diambil, dan dipasang ke keychain Anda. Bersama-sama, keduanya membentuk pasangan penandatanganan kode untuk aplikasi Anda. Tetapi sebelum Anda belajar bagaimana menggunakan cert dan desah, ada satu lagi tindakan terkait yang ingin saya perkenalkan: match.

match menggabungkan dua tindakan sebelumnya tetapi memungkinkan Anda untuk berbagi identitas penandatanganan kode Anda di seluruh tim Anda, atau di beberapa mesin, secara aman dan pribadi melalui repositori GitHub Anda sendiri, membuat semua sertifikat dan profil yang diperlukan sehingga anggota baru bisa mendapatkan kredensial tersebut hanya dengan memanggil pertandingan perintah fastlane match. Untuk informasi lebih lanjut tentang konsep kecocokan, lihat pendekatan baru untuk panduan penandatanganan kode.

Untuk memulai menggunakan cert, jalankan perintah berikut:

Demikian pula, untuk menghela napas:

Jika Anda ingin melihat daftar opsi yang disediakan cert atau sigh, Anda dapat melakukannya dengan perintah berikut:

Selain menjalankan perintah tersebut ad hoc, Anda dapat menyertakan salah satu atau kedua tindakan sebagai bagian dari alur kerja otomatis Anda, dalam file konfigurasi Fastfile yang saya sebutkan sebelumnya:

Anda kemudian dapat menjalankan seluruh jalur dengan mengeluarkan perintah berikut:

Dengan dua jalur sederhana, Anda sekarang memperoleh manfaat dari memiliki sertifikat dan profil penyediaan yang dibuat untuk Anda dan dipelihara secara otomatis. Selanjutnya, Anda akan mempelajari bagaimana fastlane dapat membantu mengemas dan mendistribusikan aplikasi Anda.

Paket & Distribusikan Aplikasi Anda

Dua tindakan selanjutnya yang akan Anda pelajari adalah gym dan deliver, yang akan Anda manfaatkan untuk membangun, mengemas, dan mendistribusikan aplikasi Anda ke TestFlight atau App Store. gym membangun dan mengemas aplikasi Anda melalui satu baris perintah, menghasilkan file ipa yang ditandatangani untuk Anda.

Dengan mengotomatiskan ini sebagai bagian dari Fastfile Anda, Anda dapat memicu pembuatan dan pengemasan melalui alur kerja integrasi berkesinambungan dan memiliki versi terbaru aplikasi Anda di tangan pengguna setiap hari atau setiap jam. Untuk mengemas aplikasi Anda melalui fastlane, Anda cukup menjalankan:

Untuk menentukan ruang kerja dan skema tertentu, Anda dapat menambahkan parameter opsional berikut:

Sama seperti Fastfile, fastlane menyediakan file konfigurasi yang mudah digunakan yang disebut Gymfile di mana Anda dapat menyimpan semua perintah build-spesifik Anda, seperti ruang kerja, skema dan lainnya, sehingga Anda harus mengetiknya setiap kali atau memaparkannya dalam konfigurasi Fastfile Anda mengajukan. Untuk membuat Gymfile baru, cukup masukkan yang berikut:

Anda kemudian dapat mengedit file itu dan memasukkan parameter konfigurasi yang diperlukan untuk proyek Anda.

Selanjutnya, deliver mengambil alih tempat gym yang tersisa, dengan mendistribusikan file .ipa Anda tanpa harus melalui Xcode. Sebagai mitra dari gym, pengiriman tidak hanya mampu mengirimkan file biner .ipa Anda, tetapi juga mengunggah tangkapan layar dan metadata ke iTunes Connect untuk Anda, serta mengirimkan aplikasi Anda ke App Store.

Tindakan ini juga dapat mengunduh tangkapan layar dan metadata yang ada dari iTunes Connect. Perintah tindakan paling sederhana adalah memanggil:

Hasil akhirnya adalah folder metadata dan screenshot bersama dengan file konfigurasi Deliverfile, yang mirip dengan Gymfile dan Fastfile.

The metadata and screenshots subfolders generated for you by deliver

Anda kemudian dapat memodifikasi konten subfolder tersebut untuk mengubah metadata aplikasi Anda. Untuk mengunggah metadata Anda, Anda menjalankan:

Untuk mengirimkan aplikasi Anda untuk ditinjau, tambahkan parameter berikut:

Untuk mengunduh metadata atau tangkapan layar, tambahkan parameter berikut, masing-masing:

Anda dapat memodifikasi screenshot dalam sub-folder /screenshot, tetapi fastlane menyediakan tindakan lain yang dapat mengotomatisasi proses menghasilkan screenshot untuk Anda. Meskipun tangkapan layar berada di luar cakupan artikel ini, Anda dapat mempelajarinya di artikel fastlane mendatang.

Seperti halnya serangkaian tindakan sebelumnya, Anda dapat menjalankan gym dan memberikannya sendiri atau memasukkannya sebagai bagian dari alur kerja otomasi Anda, dalam Fastfile:

Kesimpulan

Dengan memungkinkan pengiriman berkelanjutan melalui otomatisasi, fastlane mengambil beban kerja dari pengembang iOS dengan solusi turnkey satu klik untuk membangun, pengemasan, distribusi, penandatanganan kode, pembuatan screenshot dan masih banyak lagi. Tutorial ini hanya menggores permukaan apa yang mungkin dengan fastlane, dan dalam artikel berikutnya kami akan mengeksplorasi lebih banyak tindakan yang dapat Anda terapkan untuk lebih mengotomatisasi dan mengoptimalkan alur kerja Anda.

Mulai dari pembuatan tangkapan layar yang dilokalkan hingga integrasi mendalam dengan alat terkemuka seperti Jenkins CI, Git, Crashlytics, HockeyApp, dan Slack, fastlane sama pentingnya dengan CocoaPods untuk toolkit pengembangan iOS Anda. Ini memiliki komunitas kuat dari plugin pihak ketiga dan juga didukung oleh Google.

Anda juga dapat mempelajari semua tentang seni pengiriman berkelanjutan dan fastlane dalam buku saya. Pengiriman Berkelanjutan untuk Seluler Dengan fastlane, tersedia dari Packt Publishing.

Continuous Delivery for Mobile With fastlane

Dan ketika Anda berada di sini, periksa beberapa posting kami yang lain di pengembangan aplikasi iOS!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.