SlideShare a Scribd company logo
Setup Continuous Integration di
Android
Alfian Yusuf Abdullah
Google Associate Android Developer, Code Reviewer Dicoding
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di Android
Manfaat Continuous Integration
● Mengurangi proses testing secara manual yang bisa jadi terlupakan karena human-factor.
● Memastikan untuk semua fitur berjalan lancar setiap kali terjadi perubahan kode (push).
● Mendeteksi eror secepat mungkin
● Membuat proses delivery ke production menjadi lebih cepat.
● Terkait aspek kolaborasi tim, Anda dapat mengatasi masalah ketika menggabungkan (merge)
project.
● Untuk Anda yang memanfaatkan branch, CI bisa memastikan branch utama(production) tetap
bersih dan bisa dijalankan.
● Menyimpan arsip build terakhir kali yang sukses sehingga apabila terjadi kesalahan Anda bisa
mengetahui kode mana yang sukses dijalankan.
Tools untuk Continuous Integration
Merupakan open-source untuk membuat continuous integration pada server yang paling
terkenal. Dibuat dengan Java, ia memiliki lebih dari 300 plugin untuk membantu mencoba dan
menjalankan tes pada project apa pun. Cocok digunakan untuk project yang sudah besar karena
bisa di-customize lebih dalam. Namun Anda harus menyiapkan server sendiri untuk
menjalankannya.
Merupakan layanan untuk membuat continuous integration. Menariknya selain menggunakan
server sendiri, Anda juga bisa menggunakan hosting yang sudah disediakan. Untuk konfigurasi
Anda juga bisa menggunakan YAML. Selain itu, tersedia juga docker image yang siap digunakan.
Layanan ini juga dapat langsung terintegrasi dengan Github dan Bitbucket dengan cepat. Cocok
untuk pemula yang ingin belajar Continuous Integration.
Etc.
Alur Continuous Integration
1. Menghubungkan project ke version control seperti Github, Gitlab, atau Bitbucket.
2. Membuat konfigurasi continuous integration pada repository.
3. Melakukan perubahan pada kode.
4. Commit dan Push ke version control.
5. Tool CI akan otomatis meng-compile kode yang Anda buat.
6. Melakukan testing. Baik unit testing maupun integration testing.
7. Men-deploy jika testing berhasil. Dalam hal Android, bisa dalam bentuk APK.
Continuous Integration dengan Circle CI
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di Android
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di Android
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di Android
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di Android
YAML Configuration file template
https://circleci.com/docs/2.0/language-andr
oid/#sample-configuration
Config file
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di Android
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di Android
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di Android
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di Android
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di Android
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di Android
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di Android
Bedah YAML Configuration File
Orbs pada Circle CI
Orbs adalah fitur baru pada Circle CI versi 2.1. Ia merupakan package dasar yang bisa
digunakan kembali. Ada dua jenis Orbs, yaitu certified dan Orbs dari pihak ketiga yang
list-nya dapat Anda lihat di https://circleci.com/developer/orbs.
Jobs
Jobs adalah satuan tugas yang dilakukan dalam sebuah Continuous Integration.
Steps
Steps adalah langkah-langkah yang Anda lakukan dalam sebuah Job.
Contact:
@alfianyabdullah
THANKS!
Follow us: @dicoding

More Related Content

What's hot (7)

PPTX
Android Workshop beginner
Muhammad Iskandar Dzulqornain
 
PPTX
Sharring session : Understanding QA Collaboration within Project Development
ID CORE INDONESIA
 
PDF
Dicoding Developer Coaching #14: Android | Menjalankan Proses di Background T...
DicodingEvent
 
PPTX
Codeigniter by faiz
NyoNyo Chii
 
PDF
Panduan Memulai Firebase Android
Irfan Fediyanto
 
PPTX
1.suryo_atmojo-materi react-native 1 (mengenal react-native)
Suryo Atmojo
 
PDF
ActiveX - Plugin My Project
padisoft
 
Android Workshop beginner
Muhammad Iskandar Dzulqornain
 
Sharring session : Understanding QA Collaboration within Project Development
ID CORE INDONESIA
 
Dicoding Developer Coaching #14: Android | Menjalankan Proses di Background T...
DicodingEvent
 
Codeigniter by faiz
NyoNyo Chii
 
Panduan Memulai Firebase Android
Irfan Fediyanto
 
1.suryo_atmojo-materi react-native 1 (mengenal react-native)
Suryo Atmojo
 
ActiveX - Plugin My Project
padisoft
 

More from DicodingEvent (20)

PDF
Developer Coaching #114.pdf
DicodingEvent
 
PDF
Ask Us Anything about Studi Independen Bersertifikat Kampus Merdeka X Dicodin...
DicodingEvent
 
PPTX
tantangan menjadi developer di abad 21
DicodingEvent
 
PDF
Mengenalkan augmented reality (ar) pada snapchat
DicodingEvent
 
PDF
Membangun Aplikasi Serverless di Platfrom AWS
DicodingEvent
 
PDF
IDCamp X Madrasah: Pengenalan Computational Thinking
DicodingEvent
 
PDF
Membuat Produk Digital Terbaik ala Startup Unicorn
DicodingEvent
 
PDF
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
DicodingEvent
 
PDF
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
DicodingEvent
 
PDF
Membuat Solusi Bermanfaat dengan Programming - Nur Rohman
DicodingEvent
 
PDF
Potensi karier menjadi ios developer di masa depan
DicodingEvent
 
PDF
Id camp x dicoding live : persiapan jadi software engineer hebat 101
DicodingEvent
 
PDF
Tips sukses berkarir sebagai developer dan programmer 2021
DicodingEvent
 
PPTX
Teknologi Baru Android di Google I/O 2021 - Andrew Kurniadi
DicodingEvent
 
PDF
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
DicodingEvent
 
PDF
Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...
DicodingEvent
 
PDF
Pengantar Cloud Computing dengan AWS - Petra Novandi Barus
DicodingEvent
 
PDF
Dicoding Developer Coaching #36: Android | Pentingnya Performa pada Aplikasi ...
DicodingEvent
 
PDF
Dicoding Developer Coaching #34: Android | Modular Android App dengan Dynamic...
DicodingEvent
 
PDF
Dicoding Developer Coaching #32: Android | Reactive Programming dengan RxJava...
DicodingEvent
 
Developer Coaching #114.pdf
DicodingEvent
 
Ask Us Anything about Studi Independen Bersertifikat Kampus Merdeka X Dicodin...
DicodingEvent
 
tantangan menjadi developer di abad 21
DicodingEvent
 
Mengenalkan augmented reality (ar) pada snapchat
DicodingEvent
 
Membangun Aplikasi Serverless di Platfrom AWS
DicodingEvent
 
IDCamp X Madrasah: Pengenalan Computational Thinking
DicodingEvent
 
Membuat Produk Digital Terbaik ala Startup Unicorn
DicodingEvent
 
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
DicodingEvent
 
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
DicodingEvent
 
Membuat Solusi Bermanfaat dengan Programming - Nur Rohman
DicodingEvent
 
Potensi karier menjadi ios developer di masa depan
DicodingEvent
 
Id camp x dicoding live : persiapan jadi software engineer hebat 101
DicodingEvent
 
Tips sukses berkarir sebagai developer dan programmer 2021
DicodingEvent
 
Teknologi Baru Android di Google I/O 2021 - Andrew Kurniadi
DicodingEvent
 
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
DicodingEvent
 
Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...
DicodingEvent
 
Pengantar Cloud Computing dengan AWS - Petra Novandi Barus
DicodingEvent
 
Dicoding Developer Coaching #36: Android | Pentingnya Performa pada Aplikasi ...
DicodingEvent
 
Dicoding Developer Coaching #34: Android | Modular Android App dengan Dynamic...
DicodingEvent
 
Dicoding Developer Coaching #32: Android | Reactive Programming dengan RxJava...
DicodingEvent
 
Ad

Recently uploaded (7)

PPTX
hand out KONSEP Sekolah Islam Terpadu.pptx
Noven25
 
DOCX
SOCIAL AND PSYCHOLOGICAL ADAPTATION OF ELDERLY IN NURSING HOMES AS A NEW HOME
ainaqur
 
PPT
Statistik (ukuran Penyebaran Data) Matemtika
ArdyGelesSuhardi
 
PDF
MODUL BAB 1_PAI Fase F Kelas XII SMK Islam Da'watul Haq
MAHFUDZ8
 
PDF
E-book - Pitching and Negotiation - : Dr. Nova Mardiana, S.E., M.M., Driya W...
nesya10
 
PPTX
hand out MODEL PEMBELAJARAN TERPADU SD.pptx
Noven25
 
PPTX
semINAR PROPOSAL SKRIPSI terbaru NEW.pptx
Listyarini4
 
hand out KONSEP Sekolah Islam Terpadu.pptx
Noven25
 
SOCIAL AND PSYCHOLOGICAL ADAPTATION OF ELDERLY IN NURSING HOMES AS A NEW HOME
ainaqur
 
Statistik (ukuran Penyebaran Data) Matemtika
ArdyGelesSuhardi
 
MODUL BAB 1_PAI Fase F Kelas XII SMK Islam Da'watul Haq
MAHFUDZ8
 
E-book - Pitching and Negotiation - : Dr. Nova Mardiana, S.E., M.M., Driya W...
nesya10
 
hand out MODEL PEMBELAJARAN TERPADU SD.pptx
Noven25
 
semINAR PROPOSAL SKRIPSI terbaru NEW.pptx
Listyarini4
 
Ad

Dicoding Developer Coaching #35: Android | Setup Continuous Integration di Android

  • 1. Setup Continuous Integration di Android Alfian Yusuf Abdullah Google Associate Android Developer, Code Reviewer Dicoding
  • 3. Manfaat Continuous Integration ● Mengurangi proses testing secara manual yang bisa jadi terlupakan karena human-factor. ● Memastikan untuk semua fitur berjalan lancar setiap kali terjadi perubahan kode (push). ● Mendeteksi eror secepat mungkin ● Membuat proses delivery ke production menjadi lebih cepat. ● Terkait aspek kolaborasi tim, Anda dapat mengatasi masalah ketika menggabungkan (merge) project. ● Untuk Anda yang memanfaatkan branch, CI bisa memastikan branch utama(production) tetap bersih dan bisa dijalankan. ● Menyimpan arsip build terakhir kali yang sukses sehingga apabila terjadi kesalahan Anda bisa mengetahui kode mana yang sukses dijalankan.
  • 5. Merupakan open-source untuk membuat continuous integration pada server yang paling terkenal. Dibuat dengan Java, ia memiliki lebih dari 300 plugin untuk membantu mencoba dan menjalankan tes pada project apa pun. Cocok digunakan untuk project yang sudah besar karena bisa di-customize lebih dalam. Namun Anda harus menyiapkan server sendiri untuk menjalankannya.
  • 6. Merupakan layanan untuk membuat continuous integration. Menariknya selain menggunakan server sendiri, Anda juga bisa menggunakan hosting yang sudah disediakan. Untuk konfigurasi Anda juga bisa menggunakan YAML. Selain itu, tersedia juga docker image yang siap digunakan. Layanan ini juga dapat langsung terintegrasi dengan Github dan Bitbucket dengan cepat. Cocok untuk pemula yang ingin belajar Continuous Integration.
  • 8. Alur Continuous Integration 1. Menghubungkan project ke version control seperti Github, Gitlab, atau Bitbucket. 2. Membuat konfigurasi continuous integration pada repository. 3. Melakukan perubahan pada kode. 4. Commit dan Push ke version control. 5. Tool CI akan otomatis meng-compile kode yang Anda buat. 6. Melakukan testing. Baik unit testing maupun integration testing. 7. Men-deploy jika testing berhasil. Dalam hal Android, bisa dalam bentuk APK.
  • 14. YAML Configuration file template https://circleci.com/docs/2.0/language-andr oid/#sample-configuration Config file
  • 23. Orbs pada Circle CI Orbs adalah fitur baru pada Circle CI versi 2.1. Ia merupakan package dasar yang bisa digunakan kembali. Ada dua jenis Orbs, yaitu certified dan Orbs dari pihak ketiga yang list-nya dapat Anda lihat di https://circleci.com/developer/orbs.
  • 24. Jobs Jobs adalah satuan tugas yang dilakukan dalam sebuah Continuous Integration.
  • 25. Steps Steps adalah langkah-langkah yang Anda lakukan dalam sebuah Job.