Apa itu Vagrant?
Vagrant adalah tools open source command line yang digunakan untuk membangun dan pengelolaan virtual machine environment. Secara default Vagrant dapat membuat virtual machine berdasarkan VirtualBox, Hyper-V dan Docker tetapi banyak juga provider lainnya seperti Libvirt(KVM), VMware, dan AWS yang dapat di setup/install melalui sistem Vagrant plugin.
Vagrant sangat sering digunakan para developer untuk memudahkan setup development environment, yang disesuaikan dengan production environment.
Cara Install Vagrant di Linux
Seperti yang telah di jelaskan sebelumnya, untuk dapat membuat virtual machine dengan vagrant kita memerlukan VirtualBox agar dapat membuat virtual machine vagrant yang berbasis pada virtualbox.
Untuk melakukan installasi package vagrant pada Ubuntu/CentOS, silakan ikuti panduan berikut ini :
Sebelum melakukan installasi pastikan sebelumnya anda login sebagai user yang mempunyai hak privileged atau root user
Ubuntu
sudo apt install virtualbox vagrant -y
CentOS
yum install virtualbox vagrant -y
Installasi dari source
Download file source vagrant di Vagrant page)
Extrak file unzip dengan command :
unzip vagrant_2.2.4_linux_amd64.zip
Copy file vagrant
ke lokasi path /usr/local/bin/
cp vagrant /usr/local/bin/
Cek Installasi Vagrant
Untuk melakukan pengecekan installasi vagrant bisa jalankan command berikut ini :
vagrant version
Dan akan muncul output seperti ini :
vagrant version
Installed Version: 2.2.4
Latest Version: 2.2.4
Pengujian Vagrant
Setelah sukses melakukan installasi vagrant, selanjutnya coba basic command vagrant untuk membuat environment development sederhana
Langkah pertama buat dahulu direktori/folder root projek vagrant yang mana nanti digunakan sebagai lokasi file Vagrantfile
mkdir -p ~/vagrant && cd ~/vagrant
Berikutnya buat initialize Vagrantfile dengan menggunakan vagrant init dan buat vagrant box. Yang mana vagrant box ini merupakan bentuk environment apa yang ingin dipakai untuk development, di sini kami menggunakan vagrant box centos/7. Untuk pilihan vagrant box lainnya kalian bisa cek di Vagrant Box List
Berikut ini command untuk initialize :
vagrant init centos/7
Selanjutnya akan muncul note seperti ini jika sudah selesai
A 'Vagrantfile' has been placed in this directory. You are now
ready to 'vagrant up' your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
'vagrantup.com' for more information on using Vagrant.
Jika sudah muncul note seperti diatas sekarang coba jalankan dengan command :
vagrant up
Saat pertama kali menjalankan vagrant up
maka vagrant akan melakukan download image environment terlebih dahulu. Dan ketika menjalankan command vagrant up
nanti akan muncul notifikasi seperti ini
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'centos/7' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: >= 0
==> default: Loading metadata for box 'centos/7'
default: URL: https://vagrantcloud.com/centos/7
==> default: Adding box 'centos/7' (v1902.01) for provider: virtualbox
default: Downloading: https://vagrantcloud.com/centos/boxes/7/versions/1902.01/providers/virtualbox.box
==> default: Box download is resuming from prior download progress
default: Download redirected to host: cloud.centos.org
==> default: Successfully added box 'centos/7' (v1902.01) for 'virtualbox'!
==> default: Importing base box 'centos/7'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'centos/7' version '1902.01' is up to date...
==> default: Setting the name of the VM: vagrant_default_1553706701509_89486
...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default:
...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
...
==> default: Rsyncing folder: /home/geekid/Github/nimetech/vagrant/ => /vagrant
Untuk melakukan remote ssh pada vagrant jalankan command :
vagrant ssh
Dan untuk shutdown atau mematikan vagrant jalankan command :
vagrant halt
Lalu jika ingin menghapus vagrant yang sudah ada jalankan command :
vagrant destroy
Kesimpulan
Vagrant merupakan command tools yang di gunakan untuk penunjang developement sebuah environment. Dengan tools ini kita bisa membuat desain environment yang dibutuhkan untuk suatu aplikasi atau sistem yang nantinya akan digunakan saat production.
Kami NimeTech.com menggunakan tools ini untuk memberikan kemudahan dalam melakukan jasa manage server