Menghosting sistem continuous integration dan delivery sendiri dapat secara signifikan meningkatkan alur kerja pengembangan Anda. Drone CI adalah sistem CI open-source yang terintegrasi dengan mulus ke dalam repository Anda dan menyediakan antarmuka pengguna yang intuitif untuk mengelola build. Dalam panduan ini, kami akan membimbing Anda melalui proses menghosting Drone CI sendiri di VPS.
Mengapa Menggunakan VPS untuk Drone CI?
Menggunakan VPS (Virtual Private Server) untuk menampung Drone CI memungkinkan Anda memiliki kendali penuh atas lingkungan Anda. Ini sangat penting bagi pengembang yang ingin menyesuaikan pipeline CI mereka dan menjaga data sensitif tetap aman. Berikut adalah perbandingan singkat beberapa penyedia VPS terbaik yang cocok untuk hosting Drone CI.
| Penyedia | Harga | Sumber Daya | Ideal Untuk |
|---|---|---|---|
| Contabo VPS | 5,99 EUR/bulan | 4 GB RAM, 2 vCores | Pengguna anggaran |
| Hetzner Cloud | 4,15 EUR/bulan | 2 GB RAM, 1 vCore | Projek kecil |
| DigitalOcean | 6 USD/bulan | 1 GB RAM, 1 vCore | Startup |
| Vultr | 6 USD/bulan | 1 GB RAM, 1 vCore | Fleksibilitas |
| Linode | 5 USD/bulan | 1 GB RAM, 1 vCore | Pemula VPS |
Prasyarat
Sebelum memulai, pastikan Anda memiliki:
- Sebuah VPS: Pilih salah satu dari opsi di atas. Misalnya, Contabo atau Hetzner.
- Docker: Drone CI berjalan dalam wadah Docker.
- Nama Domain (opsional): Untuk mengakses server CI secara visual dan aman.
- Akses ke GitHub atau repository setara jika Anda ingin menyiapkan webhook.
Langkah 1: Menyiapkan VPS Anda
-
Login ke VPS Anda: Gunakan SSH untuk masuk ke server Anda.
ssh root@ip-server-anda -
Perbarui sistem:
apt-get update && apt-get upgrade -y -
Pasang Docker dan Docker Compose:
apt-get install -y docker.io docker-compose -
Verifikasi bahwa Docker terpasang dengan benar:
docker --version
Langkah 2: Instalasi Drone CI
-
Buat direktori untuk Drone:
mkdir -p /opt/drone cd /opt/drone -
Buat file
.env: Buat file baru bernama.envdi direktori/opt/dronedengan isi berikut:DRONE_GITEA_SERVER=https://your-gitea-server.com DRONE_RPC_SECRET=your-rpc-secret DRONE_SERVER_HOST=your-drone-domain.com DRONE_SERVER_PROTO=https -
Buat file
docker-compose.yml:version: '3' services: drone-server: image: drone/drone:latest ports: - 80:80 environment: - DRONE_GITEA_SERVER=https://your-gitea-server.com - DRONE_RPC_SECRET=${DRONE_RPC_SECRET} - DRONE_SERVER_HOST=${DRONE_SERVER_HOST} - DRONE_SERVER_PROTO=${DRONE_SERVER_PROTO} volumes: - drone-data:/data volumes: drone-data: -
Jalankan Drone: Perintah berikut untuk memulai server Drone:
docker-compose up -d
Langkah 3: Konfigurasi Drone CI
-
Akses Drone: Buka browser dan pergi ke
http://your-drone-domain.com. Anda akan melihat layar login Drone CI. -
Masuk dengan akun repository Anda: Hubungkan layanan Git Anda.
-
Atur repository Anda: Setelah masuk, Anda dapat mengonfigurasi repositori mana yang ingin Anda otomatisasi dengan Drone.
-
Buat file
.drone.ymldi repository Anda: File ini berisi konfigurasi pipeline.
Pertanyaan yang Sering Diajukan
Berapa kebutuhan penyimpanan untuk Drone CI?
Drone CI sendiri tidak membutuhkan banyak ruang penyimpanan. Rekomendasi minimum adalah 1 GB, cukup untuk log dan file konfigurasi. Namun, tergantung pada ukuran kode Anda dan jumlah build, Anda mungkin perlu mempertimbangkan disk yang lebih besar. Selain itu, penggunaan jangka panjang akan menghasilkan data lebih banyak; oleh karena itu, pemantauan penggunaan storage secara rutin sangat penting. Gunakan opsi manajemen volume dalam Docker untuk mengoptimalkan penggunaan storage.
Bisakah saya mengintegrasikan Drone CI dengan GitHub atau GitLab?
Ya, Drone CI mendukung integrasi dengan berbagai layanan hosting repository, termasuk GitHub, GitLab, Bitbucket, dan Gitea. Untuk mengaturnya, kunjungi halaman konfigurasi Drone setelah login dan pilih layanan Git yang Anda inginkan. Pastikan Anda memiliki izin yang diperlukan pada repo Anda agar Drone dapat membuat webhook dan mengakses repository.
Bagaimana saya dapat meningkatkan skala instalasi Drone CI saya?
Untuk skala instalasi Drone CI, Anda dapat menjalankan beberapa instance server Drone di belakang load balancer. Konfigurasi ini memastikan performa lebih baik saat beban tinggi. Sesuaikan file docker-compose.yml untuk penskalaan dan pertimbangkan menggunakan database PostgreSQL untuk persistensi dan klastering. Tinjau dokumentasi resmi Drone atau sumber daya komunitas seperti r/selfhosted untuk strategi penskalaan lanjutan.
Kesimpulan
Menghosting Drone CI sendiri di VPS adalah cara yang ampuh untuk meningkatkan strategi CI/CD Anda. Dengan mengikuti panduan ini, Anda telah menyiapkan lingkungan yang fungsional sesuai kebutuhan pengembangan Anda. Untuk detail lebih lengkap mengenai pilihan VPS terbaik untuk proyek Anda, periksa perbandingan VPS lengkap kami.