Işık hızında küresel içerik dağıtım ağına bağlanın ve web varlığınızı güçlendirin

Vagrant Nedir?

 Vagrant, bir geliştirici aracı yazılımıdır.

•GNU/Linux dağıtımlarının bazılarında, Mac ve Windows işletim sistemlerinde kolay yapılandırılabilir, tekrar üretilebilir/elde edilebilir, taşınabilir bir geliştirme ortamı oluşturmamıza yardımcı olup bunun için sanallaştırma (Virtualbox,VMWare vs..) teknolojisinden faydalanan bir sanal makina yöneticisidir.

1.1 Ne İşe Yarar?

•Vagrant sanal makine ayarlarını oldukça kolaylaştırır.

•Oluşturacağımız Vagrantfile isimli tek bir dosya ile tüm takımın aynı ortamda ayrı sürüm işletim sistemi ve aynı versiyon araçlarla çalışmasını sağlayabiliriz. Takım içi entegrasyon süreçlerini ciddi anlamda kolaylaştırır.

•Sadece takım için değil tek başınıza proje geliştirirken de kullanabilirsiniz. Sanal makine yapılandırması Virtualbox gibi araçları kullanmaktan çok daha kolaydır. Hiç arayüzde muhatap olmadan gerekli tüm ayarlarınızı yapıp tek vagrant up komutuyla sanal makineyi oluşturabilir ve çalıştırabilirsiniz. Ardından vagrant ssh diyerek sanal sunucuya bağlanabilirsiniz

1.2 Vagrant Kurulumu

•Vagrant kurulumu oldukça basit. Vagrant için herhangi bir sanal makina provider’ının sisteminizde yüklü olması gerekiyor. •Aşağıdaki adreslerden uygulamaları indirebilirsiniz.  Ücretsiz olduğundan dolayı VirtualBox kullanabilirsiniz.

DownloadVagrant
DownloadOracle VM VirtualBox

•Yükleme işlemi bittikten sonra Vagrant otomatik olarak kendisini bilgisayarınızın çevre değişkenlerine ekleyecektir. Bunun sayesinden herhangi bir değişiklik yapmadan komut satırınızda vagrat komutlarını çalıştırabilirsiniz.

1.3 Vagrant nasıl çalışır? (1/2)

•Vagrant kendi deposundaki boxlar ile çalışır.

•Tüm box listesine şu adresten ulaşabiliriz: https://app.vagrantup.com/boxes/search .

•Buradaki boxları alıp değiştirip yeniden kendimiz box dosyası oluşturabiliriz.

1.3 Vagrant nasıl çalışır? (2/2)

•Vagrant ile çalışmaya başlamak için, öncelikle bir temel kutuya ihtiyacımız var.

atlas.hashicorp.com

vagrantbox.es

•Vagrant içerisine bir temel kutu eklemek için iki ayrı seçenek mevcut.

•Vagrant bulutunda tanımlı temel kutulardan birini eklemek.

•Üçüncü kişiler tarafından hazırlanmış kutuları eklemek

•Kutu eklemek için baz alacağımız taslak komut şudur;

1.4 Ne zaman işe yarar ?

•Bir proje için Vagrant ortamı hazırladınız ve bu ortamı takımdaki diğer arkadaşlarınızın da kullanması gerekiyor.

•Siz içerisinde bulunduğunuz ortamı bir kutu haline getirerek, bir sunucuya yüklüyorsunuz.

•Kutunun sunucudaki bu adresini takımınızla paylaşıyorsunuz ve herkes kutuyu o adresten eklemiş oluyor.

1.5 Özetle Çalışma Mantığı

•5 tane de yazılımcı olsun. Gerçek ortamda yayın yapan bir web sunucu olsun. Bu sunucu ile aynı şekilde yapılandırılmış bir sanal sistem (BaseBox) oluşturdunuz diyelim.

•5 yazılımcının da bu oluşturduğumuz BaseBox’ ı kullanmasını sağladığınızda hepsi sunucuyla aynı özellikleri taşıyan birer lokal sunucuya sahip olacaklar.

•Bundan sonra 5 yazılımcının her biri projelerini ister not defteri ile yazsınlar, ister ide ile yazsınlar problem değil.

•Bu sayede lokalde çalıştırdıkları her kod parçacığı ya da kod bloğu sunucuda da sorunsuz bir şekilde çalışacaktır.

2. Terminoloji

•Vagrant ekosisteminde  bazı terminoloji ve konseptlere değinmek gerekiyor.

•Öncelikle host machine kendi fiziksel makinamız, guest machine ise makinamıza kurduğumuz sanal makinayi ifade eder.

2.1 Boxes

•Boxes, Vagrant’ın temel yapı taşıdır.

•Binlerce kullanıcı tarafından oluşturulmuş özel kutulardır.

•Bu kutuları scriptiniz içerisine yazarsanız Vagrant bunu sizin için indirir ve script içerisinde belirttiğiniz özellikler üzerinden çalışmasını sağlar. •Bu paket formatı içerisinde basit işletim sistemi yüklemesi olabileceği gibi birden fazla uygulama yüklemesi de olabilir.

•Vagrant ortamlarımız bu box dediğimiz kutularda durur.

•Vagrant ile ayağa kaldırdığımız her bir ortam bir box’a denk gelir.

2.2 Base Boxes

•Vagrant hızlı bir şekilde sanal makina oluşturmak için base box dediğimiz base image kullanır.

•Aslında box’ların özel bir biçimidir.

•Sanal bir makina oluşturmak için minimum gereksinimlerin tanımlandığı box’lardır.

•Örneğin, hızlı bir şekilde Ubuntu Server 14.04 LTS işletim sistemine sahip olan bir sanal bir makina ayağa kaldırmak için ubuntu/trusty64 base box’ını kullanırız. Box list adresinden mevcut box’ları inceleyebilirisiniz.

2.3 Providers

•Sanallaştırma adına asıl işi yapan kısım burası.

•Vagrant herhangi bir sanallaştırma işlevi sağlamıyor. Bunun yerine sanallaştırma hizmeti sunan teknolojilerden yararlanır.

•Vagrant ekosisteminde sanallaştırma işlevi sunan teknolojiler Provider olarak isimlendirilir. VirtualBoxVMWareHyper-V bunlardan birkaçı. Vagrant için default provider VirtualBox’tır.

2.4 Provisioners

•Provisioners ( yapılandırma araçları ) yüklenmiş olan sanal makinada  tanımladığımız taskları  chef.puppet.ansibe.saltstack.fabricçalıştıran araçlardır.

•Sanal sunucuyu yapılandırma, gerekli yazılımların yüklenmesi, sanal makinada bazı taskların koşturulması gibi işlemleri yapmak için kullanırlar.

•Vagrant ile Chef, Puppet veAnsible vs.. gibi provisoner araçlarını kullanılabilir. Ayrıca herhangi bir provisioner aracı kullanmadan daha zahmetli olan shell script‘i yapılandırma için kullanabilirsiniz.

2.5 Vagrantfile

•Vagrant ortamımız ile ilgili her türlü bilgi bu dosyada tutulur.

•Sanal makinenin nasıl konfigure edileceği, yapılandırma işlemleri gibi tanımlamalar bu dosya içerisinde yapılır.

Ruby syntax’ına sahiptir.

•Her bir box yani proje için bir adet Vagrantfile tanımlanır.

•Vagrantfile platform bağımsızdır. Projenin Vagrantfile dosyasına sahip iseniz istediğiniz platformda sanal makinanınız ayağa kaldırabilirsiniz

Kategoriler
ShentaWp Ayar
Duyuru: Web sitemiz aktif edilmiştir

Hemen kapsamlı hizmetlerimizi inceleyin!