Drone CI: Solusi Workflow Dev yang Efisien
Jika Domainesians sedang mencari cara untuk menjalankan proses development dengan lebih rapi, mungkin sekarang waktu yang tepat untuk berkenalan dengan Drone CI. Tool ini dapat membantu membuat workflow pengembangan aplikasi menjadi lebih efisien dan terstruktur. Pada artikel ini, kita akan membahas bagaimana Drone CI bisa menjadi solusi praktis untuk kebutuhan workflow kamu.
Apa Itu Drone CI?
Sumber: drone.io
Drone CI adalah salah satu Continuous Integration (CI) tool modern yang dirancang buat bantu developer menjalankan workflow otomatis mulai dari build, test, sampai deploy langsung dari repo Git kamu. Yang membedakan Drone CI dari beberapa tools CI lain adalah, Drone ini menjalankan semua prosesnya sepenuhnya di dalam container. Artinya, setiap tahap pipeline dikemas dalam Docker container sehingga lebih ringan, konsisten, dan mudah dikelola.
Sebagai tool open-source, Drone CI bisa digunakan secara gratis atau di-install di server sendiri jika kamu membutuhkan kontrol penuh. Integrasinya juga sangat fleksibel karena dapat terhubung langsung dengan layanan Git populer seperti GitHub, GitLab, Bitbucket, dan lainnya. Untuk kamu yang ingin membuat setup CI/CD yang ringan namun tetap kaya fitur, Drone CI bisa menjadi pilihan yang sangat tepat.
Kelebihan Drone CI Dibanding CI Tools Lain
Berikut beberapa alasan kenapa Drone CI sangat layak dipertimbangkan:
- 100% Container-Based: Setiap proses dijalankan dalam Docker container, membuat proses build lebih konsisten dan terisolasi.
- Konfigurasi Simpel: Kamu hanya perlu satu file .drone.yml di dalam repository. Semua langkah pipeline bisa dituliskan di sana, jadi prosesnya simpel dan tidak ribet.
- Ringan dan Cepat
Tanpa plugin berlebihan atau UI berat, Drone CI bisa jalan mulus bahkan di resource minim. - Bisa Self-Hosted: Cocok buat yang butuh kontrol penuh atas pipeline, terutama jika concern sama privasi dan keamanan.
- Integrasi Git yang Mulus: Support berbagai platform seperti GitHub, GitLab, Bitbucket, dan lainnya.
- Dukungan Plugin: Ada banyak plugin siap pakai, tapi kamu juga bisa membbuat plugin sendiri dengan bahasa apapun.
Cara Kerja Drone CI
Drone CI bekerja dengan konsep yang sederhana namun efektif dalam mengotomatisasi proses development. Semua langkah otomatisasi di setting lewat satu file konfigurasi dengan format YAML, yang biasanya dinamai .drone.yml. Berikut alur kerja secara umum:
1. Push Kode ke Git Repository
Begitu DomaiNesians push kode ke repository (GitHub, GitLab, dan lainnya), Drone CI akan langsung aktif dan menjalankan pipeline yang sudah didefinisikan.
2. Drone Baca File .drone.yml
File ini berisi langkah-langkah yang harus dilakukan, misalnya build project, run test, linting, atau deploy.Â
3. Eksekusi Step dalam Container
Karena Drone CI berbasis container, tiap step di pipeline akan dijalankan dalam lingkungan yang terisolasi. Jadi, tidak akan ada konflik antar proses atau dependensi.
4. Hasil Build & Feedback Otomatis
Jika semua step berhasil, kamu bisa langsung dapet notifikasi atau hasilnya bisa langsung di deploy ke server/staging. Jika gagal, Drone juga akan memberi log error biar kamu bisa langsung tahu masalahnya di mana.
5. Repeatable & Konsisten
Karena semua terdefinisi dalam file YAML dan dijalankan di container, hasilnya bisa diulang dengan hasil yang sama, dimanapun dan kapan pun.
Instalasi dan Konfigurasi Awal Drone CI di Ubuntu
Buat kamu yang pengen jalanin Drone CI di server Ubuntu, berikut ini langkah-langkah instalasi dan konfigurasi awal yang bisa kamu ikuti:
1. Update & Install Docker
Pastikan sistem kamu up to date dan Docker sudah terpasang.
|
1 2 3 4 |
sudo apt update sudo apt upgrade -y sudo apt install docker.io -y sudo systemctl enable --now docker |
Cek apakah Docker sudah jalan:
|
1 |
docker --version |
2. Install Docker Compose (Opsional tapi Disarankan)
|
1 |
sudo apt install docker-compose -y |
3. Buat Aplikasi OAuth misalnya di GitHub
Login ke GitHub, buka halaman Developer Settings > OAuth Apps, dan buat aplikasi baru:
- Homepage URL: http://your-server-ip atau domain kamu
- Authorization Callback URL: http://your-server-ip/login
Kamu akan mendapat Client ID dan Client Secret.
4. Buat File docker-compose.yml
Masuk ke folder baru yang kosong, lalu buat file bernama docker-compose.yml:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
version: '3' services:   drone:     image: drone/drone:latest     ports:       - 80:80     volumes:       - /var/lib/drone:/data     restart: always     environment:       - DRONE_GITHUB_CLIENT_ID=xxx       - DRONE_GITHUB_CLIENT_SECRET=xxx       - DRONE_RPC_SECRET=secret123       - DRONE_SERVER_HOST=your-server-ip       - DRONE_SERVER_PROTO=http       - DRONE_USER_CREATE=username:yourgithubuser,admin:true |
Ganti xxx dengan Client ID/Secret GitHub kamu dan sesuaikan DRONE_USER_CREATE dengan username GitHub kamu. Sekarang tinggal jalankan Drone-nya dengan
|
1 |
sudo docker-compose up -d |
5. Login ke Web UI
Login pakai akun GitHub kamu, lalu aktifkan repository yang ingin dipakai.
6. Tambahkan .drone.yml di RepositoryÂ
Contoh pipeline simpel:
|
1 2 3 4 5 6 7 8 9 |
kind: pipeline type: docker name: default steps:   - name: test     image: node:18     commands:       - npm install       - npm test |
Push file ini ke repository, dan Drone akan otomatis jalan setiap ada perubahan.
Tips Efisien Menggunakan Drone CI
Supaya Drone CI bisa digunakan lebih efektif, berikut beberapa tips yang bisa langsung kamu coba:
-
Gunakan Image yang Spesifik & Ringan
Hindari menggunakan image yang terlalu umum seperti ubuntu:latest, kecuali memang dibutuhkan. Lebih baik pakai image yang sesuai kebutuhan, contoh node:18-alpine atau python:3.10-slim.
- Manfaatkan Caching
Jika project butuh install dependency seperti npm install atau pip install, pertimbangkan pakai plugin caching atau mount volume lokal.
|
1 2 3 4 5 6 |
- name: cache   image: drillster/drone-volume-cache   settings:     restore: true     mount:       - node_modules |
- Pisahkan Step Build dan Test
Ini membuat log lebih jelas, dan jika ada error, kamu bisa tahu lebih cepat di bagian mana masalahnya.
- Gunakan Trigger dengan Bijak
Jika DomaiNesians tidak perlu pipeline jalan setiap push, atur trigger supaya lebih selektif. Misalnya hanya hanya berjalan di branch main:
|
1 2 3 4 5 6 |
trigger:   branch:     - main   event:     - push     - pull_request |
- Amankan Secrets
Jangan pernah hardcode API key, token, atau password langsung di .drone.yml. Simpan semuanya di Drone secrets, lalu panggil lewat environment variable.
- Monitoring & Notifikasi
Integrasikan Drone kamu dengan Slack, Discord, atau email biar tiap build sukses/gagal bisa langsung kamu pantau tanpa harus buka web UI-nya terus.
Kenapa Drone CI Layak Dicoba
Jika DomaiNesians butuh tool CI/CD yang mudah dipakai tapi tetap punya fitur lengkap, Drone CI wajib banget dicoba. Dengan sistem full container-based, pipeline jadi lebih konsisten, mudah dipantau, dan tidak memakai banyak resource. Konfigurasinya juga tidak sulit cukup menggunakan satu file .drone.yml, dan kamu sudah bisa menjalankan proses build, test, sampai deploy secara otomatis.
Drone juga bisa diatur sesuai keinginan, bisa diintegrasikan dengan GitHub, GitLab, Bitbucket, dan bisa kamu host sendiri di server. Jika ingin penggunaan dengan kontrol penuh, cukup siapkan VPS lalu install Docker setelah itu Drone CI sudah bisa langsung dijalankan.Domainesia menyediakan Cloud VPS dengan harga terjangkau dan dukungan customer service 24/7. Jadi, dengan modal minim, kamu bisa punya sistem CI/CD sendiri yang handal dan efisien.

