SlideShare a Scribd company logo
1 of 26
Download to read offline
Setup Continuous Integration di
Android
Alfian Yusuf Abdullah
Google Associate Android Developer, Code Reviewer Dicoding
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
YAML Configuration file template
https://circleci.com/docs/2.0/language-andr
oid/#sample-configuration
Config file
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

Sharring session : Understanding QA Collaboration within Project Development
Sharring session : Understanding QA Collaboration within Project DevelopmentSharring session : Understanding QA Collaboration within Project Development
Sharring session : Understanding QA Collaboration within Project DevelopmentID CORE INDONESIA
 
Dicoding Developer Coaching #14: Android | Menjalankan Proses di Background T...
Dicoding Developer Coaching #14: Android | Menjalankan Proses di Background T...Dicoding Developer Coaching #14: Android | Menjalankan Proses di Background T...
Dicoding Developer Coaching #14: Android | Menjalankan Proses di Background T...DicodingEvent
 
Codeigniter by faiz
Codeigniter by faizCodeigniter by faiz
Codeigniter by faizNyoNyo Chii
 
Panduan Memulai Firebase Android
Panduan Memulai Firebase AndroidPanduan Memulai Firebase Android
Panduan Memulai Firebase AndroidIrfan Fediyanto
 
1.suryo_atmojo-materi react-native 1 (mengenal react-native)
1.suryo_atmojo-materi react-native 1 (mengenal react-native)1.suryo_atmojo-materi react-native 1 (mengenal react-native)
1.suryo_atmojo-materi react-native 1 (mengenal react-native)Suryo Atmojo
 
ActiveX - Plugin My Project
ActiveX - Plugin My ProjectActiveX - Plugin My Project
ActiveX - Plugin My Projectpadisoft
 

What's hot (7)

Android Workshop beginner
Android Workshop beginnerAndroid Workshop beginner
Android Workshop beginner
 
Sharring session : Understanding QA Collaboration within Project Development
Sharring session : Understanding QA Collaboration within Project DevelopmentSharring session : Understanding QA Collaboration within Project Development
Sharring session : Understanding QA Collaboration within Project Development
 
Dicoding Developer Coaching #14: Android | Menjalankan Proses di Background T...
Dicoding Developer Coaching #14: Android | Menjalankan Proses di Background T...Dicoding Developer Coaching #14: Android | Menjalankan Proses di Background T...
Dicoding Developer Coaching #14: Android | Menjalankan Proses di Background T...
 
Codeigniter by faiz
Codeigniter by faizCodeigniter by faiz
Codeigniter by faiz
 
Panduan Memulai Firebase Android
Panduan Memulai Firebase AndroidPanduan Memulai Firebase Android
Panduan Memulai Firebase Android
 
1.suryo_atmojo-materi react-native 1 (mengenal react-native)
1.suryo_atmojo-materi react-native 1 (mengenal react-native)1.suryo_atmojo-materi react-native 1 (mengenal react-native)
1.suryo_atmojo-materi react-native 1 (mengenal react-native)
 
ActiveX - Plugin My Project
ActiveX - Plugin My ProjectActiveX - Plugin My Project
ActiveX - Plugin My Project
 

Similar to Optimized Android CI Setup

Dicoding Developer Coaching #118 _ DevOps Engineer _ Tingkatkan Kualitas Kode...
Dicoding Developer Coaching #118 _ DevOps Engineer _ Tingkatkan Kualitas Kode...Dicoding Developer Coaching #118 _ DevOps Engineer _ Tingkatkan Kualitas Kode...
Dicoding Developer Coaching #118 _ DevOps Engineer _ Tingkatkan Kualitas Kode...shabilla6
 
codeigniter subversion
codeigniter subversioncodeigniter subversion
codeigniter subversionAndri Yabu
 
Dicoding Developer Coaching #120_ DevOps Engineer _ Pengembangan Aplikasi men...
Dicoding Developer Coaching #120_ DevOps Engineer _ Pengembangan Aplikasi men...Dicoding Developer Coaching #120_ DevOps Engineer _ Pengembangan Aplikasi men...
Dicoding Developer Coaching #120_ DevOps Engineer _ Pengembangan Aplikasi men...shabilla6
 
Mengenal Lebih Jauh Tentang DevOps
Mengenal Lebih Jauh Tentang DevOpsMengenal Lebih Jauh Tentang DevOps
Mengenal Lebih Jauh Tentang DevOpsTerabitKomputer
 
WarSi (Warung Aplikasi) untuk BlankOn Linux
WarSi (Warung Aplikasi) untuk BlankOn LinuxWarSi (Warung Aplikasi) untuk BlankOn Linux
WarSi (Warung Aplikasi) untuk BlankOn LinuxEstu Fardani
 
Panduan Praktikum Pemrograman Sistem Jaringan
Panduan Praktikum Pemrograman Sistem JaringanPanduan Praktikum Pemrograman Sistem Jaringan
Panduan Praktikum Pemrograman Sistem JaringanI Putu Hariyadi
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakLusiana Diyan
 
#1 Introduction Kotlin.pptx
#1 Introduction Kotlin.pptx#1 Introduction Kotlin.pptx
#1 Introduction Kotlin.pptxGDSC2
 
DevOps Method Agile Software Development.docx - Presentation.pdf
DevOps Method Agile Software Development.docx - Presentation.pdfDevOps Method Agile Software Development.docx - Presentation.pdf
DevOps Method Agile Software Development.docx - Presentation.pdfregistrasitriTri
 
Chapter 1 perkenalan code igniter 2.0
Chapter 1 perkenalan code igniter 2.0Chapter 1 perkenalan code igniter 2.0
Chapter 1 perkenalan code igniter 2.0Andarias Jacob Calvyn
 
FIC - Flutter Basic.pdf
FIC - Flutter Basic.pdfFIC - Flutter Basic.pdf
FIC - Flutter Basic.pdfherminsusilo2
 
Pemrograman Mobile - (Pengenalan dan Instalasi Android)
Pemrograman Mobile - (Pengenalan dan Instalasi Android)Pemrograman Mobile - (Pengenalan dan Instalasi Android)
Pemrograman Mobile - (Pengenalan dan Instalasi Android)eltwordy
 

Similar to Optimized Android CI Setup (20)

Dicoding Developer Coaching #118 _ DevOps Engineer _ Tingkatkan Kualitas Kode...
Dicoding Developer Coaching #118 _ DevOps Engineer _ Tingkatkan Kualitas Kode...Dicoding Developer Coaching #118 _ DevOps Engineer _ Tingkatkan Kualitas Kode...
Dicoding Developer Coaching #118 _ DevOps Engineer _ Tingkatkan Kualitas Kode...
 
codeigniter subversion
codeigniter subversioncodeigniter subversion
codeigniter subversion
 
Dicoding Developer Coaching #120_ DevOps Engineer _ Pengembangan Aplikasi men...
Dicoding Developer Coaching #120_ DevOps Engineer _ Pengembangan Aplikasi men...Dicoding Developer Coaching #120_ DevOps Engineer _ Pengembangan Aplikasi men...
Dicoding Developer Coaching #120_ DevOps Engineer _ Pengembangan Aplikasi men...
 
DevOps_ODN.pptx
DevOps_ODN.pptxDevOps_ODN.pptx
DevOps_ODN.pptx
 
rio
riorio
rio
 
Presentation CI_CD.pptx
Presentation CI_CD.pptxPresentation CI_CD.pptx
Presentation CI_CD.pptx
 
Mengenal Lebih Jauh Tentang DevOps
Mengenal Lebih Jauh Tentang DevOpsMengenal Lebih Jauh Tentang DevOps
Mengenal Lebih Jauh Tentang DevOps
 
WarSi (Warung Aplikasi) untuk BlankOn Linux
WarSi (Warung Aplikasi) untuk BlankOn LinuxWarSi (Warung Aplikasi) untuk BlankOn Linux
WarSi (Warung Aplikasi) untuk BlankOn Linux
 
Panduan Praktikum Pemrograman Sistem Jaringan
Panduan Praktikum Pemrograman Sistem JaringanPanduan Praktikum Pemrograman Sistem Jaringan
Panduan Praktikum Pemrograman Sistem Jaringan
 
Tugas rekweb 4
Tugas rekweb 4Tugas rekweb 4
Tugas rekweb 4
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat Lunak
 
#1 Introduction Kotlin.pptx
#1 Introduction Kotlin.pptx#1 Introduction Kotlin.pptx
#1 Introduction Kotlin.pptx
 
DevOps Method Agile Software Development.docx - Presentation.pdf
DevOps Method Agile Software Development.docx - Presentation.pdfDevOps Method Agile Software Development.docx - Presentation.pdf
DevOps Method Agile Software Development.docx - Presentation.pdf
 
Chapter 1 perkenalan code igniter 2.0
Chapter 1 perkenalan code igniter 2.0Chapter 1 perkenalan code igniter 2.0
Chapter 1 perkenalan code igniter 2.0
 
Avogadro
AvogadroAvogadro
Avogadro
 
FIC - Flutter Basic.pdf
FIC - Flutter Basic.pdfFIC - Flutter Basic.pdf
FIC - Flutter Basic.pdf
 
tugas APS
tugas APStugas APS
tugas APS
 
UTS MPPL
UTS MPPLUTS MPPL
UTS MPPL
 
Kali book-id
Kali book-idKali book-id
Kali book-id
 
Pemrograman Mobile - (Pengenalan dan Instalasi Android)
Pemrograman Mobile - (Pengenalan dan Instalasi Android)Pemrograman Mobile - (Pengenalan dan Instalasi Android)
Pemrograman Mobile - (Pengenalan dan Instalasi Android)
 

More from DicodingEvent

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

More from DicodingEvent (20)

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

Recently uploaded

PPT PRINSIP-PRINSIP PEMBELAJARAN DI SEKOLAH DASAR.pptx
PPT PRINSIP-PRINSIP PEMBELAJARAN DI SEKOLAH DASAR.pptxPPT PRINSIP-PRINSIP PEMBELAJARAN DI SEKOLAH DASAR.pptx
PPT PRINSIP-PRINSIP PEMBELAJARAN DI SEKOLAH DASAR.pptxsrirahayu566632
 
Wawancara dan Observasi alat non tes bimbingan konseling
Wawancara dan Observasi alat non tes bimbingan konselingWawancara dan Observasi alat non tes bimbingan konseling
Wawancara dan Observasi alat non tes bimbingan konselingalisudrajat22
 
Pert 1(definisi-elemen perancangan kota).pptx
Pert 1(definisi-elemen perancangan kota).pptxPert 1(definisi-elemen perancangan kota).pptx
Pert 1(definisi-elemen perancangan kota).pptxkrisddaparchitect
 
TEKNIK WAWANCARA dalam ilmu komunikasi.ppt
TEKNIK WAWANCARA dalam ilmu komunikasi.pptTEKNIK WAWANCARA dalam ilmu komunikasi.ppt
TEKNIK WAWANCARA dalam ilmu komunikasi.pptssuserd13850
 
Komunikasi massa adalah proses penyampaian pesan kepada khalayak yang luas, u...
Komunikasi massa adalah proses penyampaian pesan kepada khalayak yang luas, u...Komunikasi massa adalah proses penyampaian pesan kepada khalayak yang luas, u...
Komunikasi massa adalah proses penyampaian pesan kepada khalayak yang luas, u...ayinaini27
 
Peran CSR Dalam Pembangunan ( Paparan Kendari 2024).pptx
Peran CSR Dalam Pembangunan ( Paparan Kendari 2024).pptxPeran CSR Dalam Pembangunan ( Paparan Kendari 2024).pptx
Peran CSR Dalam Pembangunan ( Paparan Kendari 2024).pptxJeckyReyhanAditya
 
ppt-bab-8-adab-menggunakan-media-sosial.pdf
ppt-bab-8-adab-menggunakan-media-sosial.pdfppt-bab-8-adab-menggunakan-media-sosial.pdf
ppt-bab-8-adab-menggunakan-media-sosial.pdfimad362574
 
"PPT K1_pengantar komunikasi pendidikan"
"PPT K1_pengantar komunikasi pendidikan""PPT K1_pengantar komunikasi pendidikan"
"PPT K1_pengantar komunikasi pendidikan"bayuputra151203
 

Recently uploaded (8)

PPT PRINSIP-PRINSIP PEMBELAJARAN DI SEKOLAH DASAR.pptx
PPT PRINSIP-PRINSIP PEMBELAJARAN DI SEKOLAH DASAR.pptxPPT PRINSIP-PRINSIP PEMBELAJARAN DI SEKOLAH DASAR.pptx
PPT PRINSIP-PRINSIP PEMBELAJARAN DI SEKOLAH DASAR.pptx
 
Wawancara dan Observasi alat non tes bimbingan konseling
Wawancara dan Observasi alat non tes bimbingan konselingWawancara dan Observasi alat non tes bimbingan konseling
Wawancara dan Observasi alat non tes bimbingan konseling
 
Pert 1(definisi-elemen perancangan kota).pptx
Pert 1(definisi-elemen perancangan kota).pptxPert 1(definisi-elemen perancangan kota).pptx
Pert 1(definisi-elemen perancangan kota).pptx
 
TEKNIK WAWANCARA dalam ilmu komunikasi.ppt
TEKNIK WAWANCARA dalam ilmu komunikasi.pptTEKNIK WAWANCARA dalam ilmu komunikasi.ppt
TEKNIK WAWANCARA dalam ilmu komunikasi.ppt
 
Komunikasi massa adalah proses penyampaian pesan kepada khalayak yang luas, u...
Komunikasi massa adalah proses penyampaian pesan kepada khalayak yang luas, u...Komunikasi massa adalah proses penyampaian pesan kepada khalayak yang luas, u...
Komunikasi massa adalah proses penyampaian pesan kepada khalayak yang luas, u...
 
Peran CSR Dalam Pembangunan ( Paparan Kendari 2024).pptx
Peran CSR Dalam Pembangunan ( Paparan Kendari 2024).pptxPeran CSR Dalam Pembangunan ( Paparan Kendari 2024).pptx
Peran CSR Dalam Pembangunan ( Paparan Kendari 2024).pptx
 
ppt-bab-8-adab-menggunakan-media-sosial.pdf
ppt-bab-8-adab-menggunakan-media-sosial.pdfppt-bab-8-adab-menggunakan-media-sosial.pdf
ppt-bab-8-adab-menggunakan-media-sosial.pdf
 
"PPT K1_pengantar komunikasi pendidikan"
"PPT K1_pengantar komunikasi pendidikan""PPT K1_pengantar komunikasi pendidikan"
"PPT K1_pengantar komunikasi pendidikan"
 

Optimized Android CI Setup

  • 1. Setup Continuous Integration di Android Alfian Yusuf Abdullah Google Associate Android Developer, Code Reviewer Dicoding
  • 2.
  • 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.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. YAML Configuration file template https://circleci.com/docs/2.0/language-andr oid/#sample-configuration Config file
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 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.