Ketika kita melakukan development terhadap sebuah aplikasi terkadang kita membutuhkan tool - tool penting untuk membantu pada developer untuk membuat sebuah aplikasi. Ada beberapa masalah yang sering ditemui oleh seorang developer diantaranya adalah :
- Kesulitan ketika antar developer menggunakan sistem operasi yang berbeda.
- Kesulitan ketika server yang digunakan menggunakan sistem operasi yang berbeda.
- Kesulitan ketika project yang sedang dikerjakan tidak dapat berjalan di PC yang lain.
Dari beberapa kesulitan tersebut kita dapat meminimalkannya dengan menggunakan vagrant. Apa itu vagrant ?
Vagrant adalah sebuah software yang menggunakan teknologi virtual machine dimana kita dapat membuat lingkungan development secara portable, konsisten dan lebih fleksible.
Dikarenakan vagrant menggunakan teknologi virtual machine maka kita membutuhkan software seperti virtual box dan VmWare. Tujuannya adalah kita ingin membuat sebuah lingkungan development secara portable, contohnya misalnya pada saat production kita akan menggunakan sistem operasi ubuntu maka pada saat development kita akan menggunakan ubuntu sebagai sistem operasi sehingga pada saat proses deploy ke production diharapkan tidak ada lagi permasalahan yang muncul.
Ketika ingin melakukan duplikasi atau dibagikan kepada team developer yang lain maka kita tinggal menggunakan perintah vagrant sehingga secara otomatis vagrant akan melakukan konfigurasi pada PC masing - masing team developer sehingga mempermudah dalam development sebuah aplikasi.
Instalasi Virtual Box
Pada artikel ini, penulis menggunakan virtual box dikarenakan virtual box merupakan software open source dan lebih mudah dikonfigurasikan. Silahkan buka file sources.list
dengan menjalankan perintah.
kemudian tambahkan sintak berikut pada baris akhir
Jangan lupa sesuiakan dengan sistem operasi anda, disini saya menggunakan ubuntu 16.04 yaitu xenial, Setelah selesai kemudian disimpan dan untuk memasukkan public key jalankan perintah berikut.
Kemudian untuk melakukan instalasi virtual box jalankan perintah berikut.
Instalasi Vagrant
Untuk melakukan instalasi vagrant silahkan download vagrant terlebih dahulu di vagrant download, disini penulis menggunakan ubuntu 16.04 64 bit maka penulis memilih versi debian 64 bit. Untuk melakukan instalasinya silahkan jalankan perintah.
jangan lupa sesuaikan dengan nama file anda. Kemudian lakukan pengecekan vagrant dengan perintah.
Instalasi Box Vagrant
Box pada vagrant berfungsi sebagai virtual machine yang memuat sistem operasi dan disana juga terdapat seluruh konfigurasi yang kita lakukan. Dengan demikian maka secara tidak langsung sebenarnya kita menggunakan virtual machine maka oleh karena itu kita membutuhkan virtual box sebagai tempat virtual machine.
Mengapa kita menggunakan vagrant ? mengapa tidak menggunakan virtual box saja ?
Salah satu alasannya adalah ketika menggunakan vagrant maka vagrant akan melakukan semua konfigurasi hanya dengan satu perintah pada saat sistem operasi start up sedangkan jika kita menggunakan virtual box maka kita harus melakukan konfigurasi secara manual.
Repository box bisa dilihat di repository box. Berikut adalah bentuk umum untuk melakukan instalasi box.
bisa dilihat bahwa untuk melakukan instalasi box sangatlah mudah yaitu kita hanya menggunakan perintah diatas dan anda hanya perlu mengganti perintah user/box
. Perintah user berarti adalah pembuat box sedangkan perintah box
adalah box yang ingin kita gunakan. Disini penulis menggunakan box ubuntu/trusty64
maka jalankan perintah berikut.
PERHATIAN !
Untuk melakukan instalasi box membutuhkan koneksi internet dan membutuhkan instalasi yang lama dikarenakan kita akan mendownload sebuah sistem operasi yang berkisar 1 GB > tergantung dari sistem operasi yang akan digunakan.
Membuat Project
Untuk membuat project, silahkan buat sebuah folder misalnya disini penulis membuat folder ubuntu-vagrant
. Kemudian jalankan perintah berikut di dalam folder tersebut.
maka akan muncul output seperti berikut.
Kemudian buka file Vagrantfile
ubah codingannya menjadi seperti berikut.
Setelah selesai untuk menjalankan silahkan jalankan perintah berikut.
dan berikut adalah output pada terminal.
Jika box telah jalan, langkah selanjutnya adalah login ke dalam box yang telah kita jalankan. Untuk login ke dalam box silahkan jalankan perintah berikut.
Jika berhasil maka akan muncul output pada terminal seperti berikut.
dan secara otomatis terminal yang kita gunakan akan berubah menjadi seperti gambar berikut.
Perintah Vagrant
Di dalam vagrant terdapat beberapa perintah penting, berikut adalah beberapa perintah yang sering digunakan di dalam vagrant.
Destroy
Perintah ini biasanya digunakan untuk menghapus project dan konfigurasi box yang telah kita buat. Untuk menghapus project kita dapat masuk ke dalam folder project dan menjalankan perintah.
Halt
Perintah ini berfungsi untuk mematikan/shut down box sehingga konfigurasi yang telah kita kita buat di dalam box tidak akan hilang. Untuk mematikan box kita dapat masuk ke dalam folder project dan menjalankan perintah.
Suspend
Perintah ini biasanya kita gunakan untuk suspend atau sleep box. Sama seperti halt, semua konfigurasi yang telah kita buat tidak akan hilang. Untuk melakukan suspend pada project, kita dapat masuk ke dalam folder project dan menjalankan perintah.
Provisioning
Provisioning adalah menginstall/mengkonfigurasi sistem yang terdapat di dalam sebuah box. Biasanya yang kita lakukan sehari - hari adalah melakukan instalasi apache, mysql dan sebagainya, akan tetapi hal - hal seperti ini akan merepotkan ketika kita diharuskan melakukan instalasi terus - menerus ketika kita melakukan vagrant up
pada PC yang berbeda. Untuk mengoptimalkannya maka kita akan menggunakan fitur provisioning pada vagrant. Silahkan buat sebuah file install.sh
di dalam folder ubuntu-vagrant
kemudian isi dengan kodingan berikut.
silahkan buat folder config, kemudian buat file sources.list
di dalam folder config. Isikan codingan berikut ini.
Langkah selanjutnya silahkan buat file environment
di dalam folder config kemudian masukkan codingan berikut ini.
Setelah selesai, langkah selanjutnya adalah lakukan konfigurasi pada file Vagrantfile
seperti berikut.
Untuk menjalankan provisioning silahkan jalankan perintah berikut.
Konfigurasi Jaringan
Agar kita dapat melakukan akses terhadap jaringan yang terdapat di dalam box vagrant maka kita harus melakukan konfigurasi jaringan. Konfigurasi yang akan kita lakukan adalah port forwarding artinya jaringan yang ada di dalam box akan kita forward ke komputer local berdasarkan port. Misalnya kita ingin melakukan akses port 80 pada vagrant box dengan menggunakan port 8080 pada komputer local. Silahkan buka file Vagrantfile
kemudian lakukan konfigurasi seperti berikut ini.
Kemudian silahkan akses http://127.0.0.1:8080/
pada browser anda. Berikut adalah outputnya.
Untuk source code nya silahkan lihat di Belajar Vagrant. Sekian artikel mengenai belajar vagrant dan terima kasih :).