Menggunakan Vagrant Sebagai Testing Box

Friday, February 12th, 2016 - Tutorial
Advertisement
Tips penggunaan Vagrant

Tips penggunaan Vagrant

Pernah mendengar seorang developer software nyeletuk wah , di mesin saya jalan kok di server ga jalan ya“. Hal ini sering dikeluhkan si developer karena mesinnya bukan di set khusus untuk melakukan testing. Sebagaimana testing di butuhkan sebuah mesin dengan environment atau linkungan yang menyerupai server. Mungkin tidak dapat mereproduksi sebagian besar elemen pada server production namun dengan Vagrant, anda dapat membuat 1 virtual machine dengan isi yang dapat di provisi dan dibentuk ulang sesuka hati. Di tulisan ini, kita akan membahas penggunaan vagrant sebagai testing box.

Vagrant sendiri merupakan sebuah tool yang pada intinya dipergunakan untuk membuat sebuah development environment atau ekosistem untuk pengembangan baik itu sebuah perangkat lunak atau dapat juga dipergunakan untuk mereplikasi konfigurasi pada infrastruktur di level production. Vagrant memanfaatkan vendor lain seperti virtual box sebagai virtual machine nya, sehingga pengembang atau pemakainya tak perlu pusing untuk memprovisi, menginstalasinya dengan isi apapun dan kemudian dapat dia ubah kembali ke bentuk awal. Hal yang sulit dilakukan pada sistem operasi yang dipakai untuk si pengembang sendiri.

Vagrant memberikan keleluasaan dan didukung oleh provider VM semacam virtualbox (yang akan penulis gunakan), VM Ware dan bahkan Amazon Web Service (AWS). Lalu vagrant juga dengan mudah diprovisi dengan tools pihak ke tiga lain, terutama tools orkestrasi semacam Chef, Puppet dan bahkan Ansible.

Mari kita mulai ..

1. Install dependencies 

yang pertama adalah memasang piranti lunak yang dibutuhkan vagrant. Karena by default vagrant provider yang ingin penulis gunakan adalah virtualbox (di coba pada mesin Ubuntu 14.04). Maka :

2. Unduh vagrant package dan install

Kunjungi halaman ini pada vagrant website : https://www.vagrantup.com/downloads.html

pilih unduhan vagrant

pilih unduhan vagrant

Temukan distro yang anda pergunakan. Dalam hal ini penulis menggunakan Ubuntu 14.04 64 bit, maka penulis mengunduh yang versi Debian 64 bit. Saat tulisan dibuat, versi terakhir vagrant adalah 1.8.1 maka untuk itu penulis mengunduh pada tautan berikut : https://releases.hashicorp.com/vagrant/1.8.1/vagrant_1.8.1_x86_64.deb

sudo dpkg -i vagrant_1.8.1_x86_64.deb 

3. Konfigurasi Vagrant box

Buat sebuah folder, katakan testing (pada folder atau path yang writeable, /home/<user anda>/  mungkin? )lalu inisialisasi vagrant pada folder tersebut :

akan muncul pesan seperti ini :

maka akan tergenerate file Vagrantfile, yang secara default isinya sebagai berikut :

Jika anda cermati, konfigurasi di atas memang mirip dengan bahasa pemrograman ruby. Memang vagrant base nya adalah ruby 🙂

Konfigurasi di atas tinggal anda ubah. Penulis mengubahnya menjadi seperti ini :

penjelasannya adalah sebagai berikut :

a. saya akan menggunakan vagrant box dari hashicorp (list lengkapnya dapat dilihat di https://atlas.hashicorp.com/boxes/search )  config.vm.box = "hashicorp/trusty64"

b. hostname yang saya set adalah ubuntu-01.lan  config.vm.hostname = "ubuntu-01.lan"

c. untuk kebutuhan port mapping saya melakukan mapping port 80 pada vagrant box akan di forward ke port 8080 milik host OS nya. di sini berguna bila anda ingin mengakses port pada vagrant box dari luar atau host OS.  config.vm.network :forwarded_port, guest: 80, host: 8080

d. saya memberikan private IP 10.10.10.10  config.vm.network :private_network, ip: "10.10.10.10"

e. Konfigurasi virtualbox (RAM, CPU dan sebagainya)

4. up dan jalankan

dan untuk mengakses via ssh

setelah ini anda dapat menambahkan script provisioning yang akan dapat dijalankan dengan perintah vagrant provision. Script provision tak harus rumit, cukup sudo apt-get install nginx  misalnya. Hal ini akan kita bahas pada tulisan berikutnya.

Selamat mencoba vagrant! 🙂

Incoming search terms:

  • tool dan tutorial membuat box server
Advertisement
Menggunakan Vagrant Sebagai Testing Box | Jsmith | 4.5
Like Page Tutorlinux di Facebook
Leave a Reply