Vagrantni derazalarga o'rnating. Vagrant - bu bir darcha. Barcha loyihalar uchun bitta virtual mashina

Golovna / 2 Ajoyib o'quvchilar

Preambula

Tsya min-statya ê possilannya rozrobki uchun yanada to'g'ri o'tkirlashni yaratish.

DA hozirgi dunyoga WEB-debuggers, chakana sotuvchilar uzoq vaqtdan beri ishlab chiqish uchun vositalarni o'rnatishni to'xtatdilar: PHP, WEB-server, DBMS ham. sizning mahalliy kompyuter, Menda rozrobka bor.

Birinchidan, ushbu o'rnatishni o'rnatish qimmat soat va kuch sarflaydi.

Boshqacha qilib aytganda, chakana sotuvchi bir nechta kompyuterlarda (ofisdagi kompyuter, uy, noutbuk) ishlaganidek, bir xil keskinlikni tuzatish va uni shaxsiy kompyuterlaringiz bilan sinxronlashtirish muammoli. Ushbu muammo identifikatsiya muammosi deb ataladi, agar u uzatilsa, barcha dasturiy ta'minotning qaysi ombori, versiyasi va konfiguratsiyasi iloji boricha bir xil bo'lishi kerak.

Uchinchidan, agar sizda bir nechta chakana sotuvchi bo'lsa, barcha kompyuterlaringiz va hamkasblaringizning barcha kompyuterlarida o'tkirlashning identifikatorini saqlab qolish yanada muhimroqdir. Bu erda bir xil stantsiya ko'proq yig'iladi, shuning uchun oldingizga hech narsa qo'yib bo'lmaydi.

To'rtinchidan, ishlaydigan kompyuteringizni keskinlashtirish hamma narsa uchun yaxshiroqdir va siz ishlab chiqarish (ishlab chiqarish) serveringizni keskinlashtirish bilan sekinlasha olmaysiz. Agar sizda konfiguratsiyada odatiy yogo bilan Windows bo'lsa ham, lekin jangovar serverda bu, albatta, boshqacha.

Xo'sh, agar siz mahalliy kompyuteringizda kengaytirish uchun o'tkirlashni o'rnatishda davom etsangiz, ish soatingizning yarmi o'tkirlashni sinxronlashtirishga sarflanishini va mahalliy operatsion tizimingizning stantsiyasi tez orada o'zgartirish moslamasiga aylanishini o'ylab, asabiylashing.

Ushbu tartibsizlikni bartaraf etish uchun kengaytirishni keskinlashtirishning virtualizatsiyasi yordam beradi. Sizga virtual mashina kerak bo'ladi, go'yo u siz o'rnatgan stsenariydan keyin g'o'ng'irlayotgandek, uni istalgan operatsion tizim ostidagi istalgan kompyuterda bir marta bosish bilan ishga tushirish mumkin. Bir oz kava ichsangiz, virtual mashinangiz tayyor bo'ladi. Bundan tashqari, sizga shvedga yordam kerak bo'ladi oddiy boshqaruv bunday virtual mashina (ishga tushirish, zupinka, qayta konfiguratsiya).

Bundan tashqari, ishchi katalogingizni loyihadan o'rta virtual mashinaning katalogiga o'zgartirishingiz kerak. Misol uchun, agar mahalliy mashina katalogi D:\myProjects bo'lsa, loyihalaringiz virtual mashina katalogini /var/myProjects yoki shunga o'xshash o'zgartirish orqali saqlanadi.

Shuningdek, men PHP-Xdebug xakerliklarini to'liq buzish imkoniyatiga ega bo'lishni xohlayman va dastur virtual muhitga, virtual mashinaga bog'liq va siz uni mahalliydan buzishingiz mumkin. Allaqachon mosmi? Qani ketdik!

Vagrant

Siz erishishingiz mumkin bo'lgan juda ko'p va ko'p narsalar, Vagrant g'alabalari bilan vikorist virtualizatsiya. Internetda Vagrant haqida ko'p yozilgan. Bu erda takrorlashning ma'nosi yo'q, aks holda maqola kobda bo'lgani kabi min bo'lmaydi, lekin maks.

Men faqat bir necha so'z aytaman. Vagrant - bu gipervisorlar bilan ishlaydigan maxsus skriptlar to'plami. virtual mashinalar vmWare, VirtualBox, Parallels va boshqalar kabi ), ushbu virtual mashinalar bilan o'zaro bog'lanish qulayligi uchun.

Vagrant uchun tayyorlaning operatsion tizimlar, Yaki "qutilar" (qutilar) deb ataladi. Quti, aslida, allaqachon o'rnatilgan va sozlangan operatsion tizimning tasviridir, uning asosida virtual mashina bo'ladi. Ko'pincha, qutilarning mualliflari ularni turli hipervizorlarni (virtual mashinalari bo'lgan robotlar uchun qo'shimchalar) qo'llab-quvvatlash uchun tanlaydilar. Men VirtualBox gipervizoriga o'xshayman, shuning uchun men Vagrant bilan ko'proq ishlay boshladim, agar men bir nechta vino qo'shgan bo'lsam, bu qutilarning aksariyati VirtualBox tomonidan chiqariladi. Shu bilan birga, siz o'zingizning didingiz uchun gipervisorni tanlashingiz mumkin, smut, quti bilan sharob yutib olish uchun, shuning uchun siz g'alaba qozonishni tanlaysiz.

Vykoristannya Vagrant vyríshuê identifikatsiya muammosi xost mashinasidagi operatsion tizimdan mustaqil ravishda keskinlashadi (bu siz mashq qiladigan mahalliy kompyuteringizning nomi). Virtual mashinada ishlaydigan mehmon operatsion tizimi har doim bir xil bo'ladi. Afsuski, Vagrant faqat to'laydi identifikatsiya xavfsizligi rivojlanish bilan birga bo'ladi. Vagrantni serverga o'rnatib bo'lmadi(Aniqrog'i, bu mumkin, lekin ishlamaslik yaxshiroq), shuning uchun Vagrant g'alabalari bilan virtualizatsiya virtual mashinada ishlaydi, bu ishlab chiqarish uchun mos emas. Keyin Vagrant turli xil operatsion tizimlarda mutlaqo bir xil ishlaydi. Xuddi shunday, sizning jamoangiz a'zolari turli xil operatsion tizimlarga ustunlik berishlari yoki turli xil operatsion tizimlar ustidan g'alaba qozonishlari mumkin bo'lgan turli sohalarda loyiha ustida ishlashlari kerak.

Virtual mashina, kerovan Vagrant virtual server, operatsion tizim o'rnatilgan va barcha kerakli qo'shimchalar va xizmatlar to'plami.

Varto qaymoq nima ekanligini aytadi virtualizatsiya Qo'shimchalar va xizmatlar bilan birgalikda butun operatsion tizim, shuningdek, asosiy yechim konteynerlashtirish to'g'ridan-to'g'ri mahalliy kompyuterda okremy xizmatlar.

To'g'ri, konteynerlashtirish faqat operatsiya xonasida amaliy Linux tizimlari, Boshqa operatsion tizimlarda virtual mashinalar konteynerlashtirishni ishga tushirish uchun ishlatiladi, shuning uchun konteynerlashtirish unchalik qulay emas. Biroq, konteynerlashtirish boshqacha bo'lsa, biz bir xil identifikatsiyani takrorlay olishimiz kerak, men uni ishlab chiqarishda serverga joylashtiraman, bu ba'zi loyihalarda bundan ham muhimroq bo'lishi mumkin.

Linux-da konteynerlar bilan ishlashning eng keng va mashhur usullaridan biri bu Docker dasturi bo'lib, men boshqa maqolada yozaman. Ayni paytda, Vagrant g'alabalari bilan virtualizatsiyaga murojaat qilaylik.

Virtual mashinada qutini ochish uchun konfiguratsiya fayli kerak bo'lib, unda ochilishning barcha parametrlari tasvirlangan. Bunday fayl deyiladi Vagrantfaylí vín íz zastosuvannyam Ruby sintaksisining imlolari (xuddi shu í imlo Vagrant bo'yicha). Men sizni bunday faylni qo'lda yozishga undamayman. Ko'pincha siz tayyor faylni qutingizni o'rnatish tavsifida topishingiz mumkin, unda qo'lda kamroq o'zgarishlar qilish kerak. Ale, teri qutisi uchun hamma narsa individualdir. Agar xohlasangiz, virtual mashinani qanday ochish bo'yicha ko'rsatmalardan oldingi ko'rsatmalar asosida bilib olasiz. Har bir vipadok haqida men yana bir bor takrorlayman, bir nechta qutilar so'rayman.

Qanday qilib o'rnatish va sinab ko'rish kerak

O'rnatish mumkin

Yangi boshlanuvchilar uchun siz gipervisorni o'rnatishingiz kerak, keyin esa Vagrantning o'zini o'rnatishingiz kerak. Virtual mashinalar ishlay olishi uchun protsessor virtualizatsiyani qo'llab-quvvatlashi kerak va u BIOS-da majburiy ravishda yoqiladi.

Keling, hamma narsa to'g'ri bo'lishi uchun, keling, VirtualBox gipervisoriga o'tamiz. Bu Oracle kabi mo''jizaviy bezkoshtovny gipervisor bo'lib, u juda tez va shunchaki o'rnatadi va daf bilan raqsga tushmasdan darhol ishlaydi.

Birinchidan, o'rnatishni boshlang, fikringizni o'zgartiring, bosh papkaga boradigan yo'lda kirillcha belgilarni, shuningdek, loyihalaringiz fayllariga yo'lni o'tkazib yubormang. Kirill harflari ê bo'lsa ham, ikkita katalog yaratish kerak, masalan D:\VagrantHome va D:\VirtualBoxMachines. Birida Vagrant fayllari, ikkinchisida VirtualBox virtual mashinasi fayllari bo'ladi. Endi VAGRANT_HOME nomi va D:\VagrantHome qiymati bilan o'zgartirish yarating. Qayta jalb qiling.

Endi siz VirtualBox-ni olishingiz va o'rnatishingiz mumkin. O'rnatishdan so'ng dastur oynasini oching va Fayl-Parameters-Sozlamalarga o'ting. Agar siz D:\VirtualBoxMachines-ga o'xshash katalog yaratgan bo'lsangiz, bu erda yangisiga yo'lni ko'rsating, de "Qulflash uchun mashinalar uchun papka". Shundan so'ng, dastur yopilishi mumkin.

Endi Vagrantni o'rnatishga o'tamiz. Zamovchuvannyam uchun proponuetsya o'sha katalogda o'rnatish uchun, deb Zavantazhte. Ilgari muammo bor edi, agar men boshqa katalogni topshirishim kerak edi, garchi bu 2 yil oldin kerak bo'lsa-da, lekin qo'rquv yo'qoldi. Rezavantazhtesya, o'rnatuvchini qanday tuzatish kerak.

Sizga kerak bo'lgan narsani to'xtating - tse git. Mijoz git versiyasini boshqarish tizimi bilan ishlashi kerak. Agar siz bu haqda ko'proq ma'lumotga ega bo'lmasangiz, bu haqda bilib olasiz, nima uchun ekanligini bilib olasiz. Siz mos.

Qayta tiklash soati ostida ehtiyot bo'ling. Biz PHPda rivojlanayotgan ekanmiz, bizning fayllarimiz onaning operatsion tizimidan mustaqil va \n yoki LF shaklida ketma-ket tugaydi. Bu shuni anglatadiki, biz chiqish kodimiz fayllaridagi satrlarni avtomatik ravishda aylantirishimiz shart emas. Shunday qilib, git-ni o'rnatish vaqti keldi, agar sizdan chiziq oxirini o'zgartirishni sozlash o'rnatish ekranida satr oxirlarini qanday bajarishni tanlash so'ralsa, boshqa variantni tanlang, xuddi shunday bo'lsin, Unix uslubidagi qator oxirlarini bajaring. va git boshqa dasturlash tillarida kengayish uchun odatiy hol bo'lganidek \r\n qator sonlarini o'zgartirmaydi.

Protseduralarning tavsiflari Windows uchun uzunroq, ammo VirtualBox va Vagrantni boshqa operatsion tizimlarga o'rnatishingiz mumkin. Sens ham xuddi shunday.

Qutilardan oling

Siz turli xil qutilardan foydalanishingiz mumkin, masalan, ramkalar bilan ta'minlangan yoki ular uchun tavsiya etilgan.

Har bir loyiha uchun bitta virtual mashina

Agar siz Yii2 ramkasini kengaytirsangiz (aks holda kengaytirmoqchi bo'lsangiz), qo'shimcha shablonlar (asosiy va kengaytmalar) allaqachon o'ziga xos joker belgisi bo'lgan Vagrantfile konfiguratsiya faylini almashtiradi. bento/ubuntu-16.04. Barcha konfiguratsiyalar: ta'minlash (ta'minlash), nginx konfiguratsiyasi va virtual mashinaning o'zi konfiguratsiyasi dasturning ildizidagi vagrant katalogida joylashgan turli xil fayllarda tasvirlangan.

Agar siz Vagrantfile-ni hurmat bilan tekshirsangiz, unda siz ushbu konfiguratsiya fayllari ulangan joyni bilib olasiz. DA ushbu maxsus turga, bitta dastur uchun virtual mashina yaratiladi, bu qulayroqdir, chunki sizning mashinalaringiz va hamkasblaringizning mashinalari o'rtasidagi rivojlanishning yaxlitligini saqlash kerak.

Vagrantfile uchun siz displey (sinxronizatsiya) uchun kataloglarni belgilaydigan config.vm.synced_folder parametrini topasiz. Bu vipadkada, mos ravishda xost mashinasining katalogi (kompyuteringiz) katalog bilan taqqoslanadi /ilova virtualda. Oqimli katalogingizda topilgan bu fayllar virtual mashinada /app katalogiga ham bepul mavjud.

Loyihangiz yangilikka nima muhtoj PHP kengaytmasi, yoki boshqa turg'un holatda bo'lsa, virtual mashinani o'rnatish uchun o'rnatish skripti bo'lgan vagrant/provision/once-as-root.sh fayliga qo'shishingiz kifoya. Faylni omborga yaratganingiz va tahrirlashingiz bilanoq - sizning hamkasblaringiz kerakli o'zgarishlarni olib tashlaydi va faqat bitta buyruqni kiritadi, virtual mashinalarini qayta sozlaydi. Shu tarzda, siz qaerga o'rnatish va qanday tuzatish kerakligini ayta olmaysiz va eslay olmaysiz - hamma narsa virtual mashinaning avtomatik nutqining stsenariylarida saqlanadi.

Barcha loyihalar uchun bitta virtual mashina

Virtualizatsiyani yutib olishning yana bir usuli - barcha loyihalaringiz uchun bitta virtual mashinani yutib olish. Bunday pidhidning o'zi Laravel mualliflaridan Homestead deb nomlangan kichik virtual mashinaga o'rnatilgan. E'tibor bering, Homestead yuqorida tavsiflangan variantga o'xshash bitta loyiha uchun virtual mashina sifatida ham o'rnatilishi mumkin, ammo quyida biz barcha loyihalar uchun bitta mashina uchun bir xil variantni ko'rib chiqamiz. Bir loyiha uchun Homesteadni qanday ishga tushirish kerak, .

Bir vaqtning o'zida virtual mashinaning konfiguratsiya fayllari bitta loyihaga tegishli emas, lekin alohida saqlanadi. Asosiy konfiguratsiya koristuvachning uy katalogidan olingan. Bir tomondan, bu qulay emas, buning uchun siz virtual mashinani ish stantsiyalari o'rtasida sinxronlashtirishni qo'lda sinxronlashtirishingiz kerak, lekin boshqa tomondan sizda faqat bitta virtual mashina mavjud, u qutidan ideal tarzda o'rnatiladi va oddiy bo'lishi mumkin. , moslashuvchan va yanada moslashuvchan.

Ushbu qutini tezlashtirish uchun siz ombordan fayllarni import qilishingiz va RSA juftligini yaratishingiz kerak (ochish va yopish). Tse zrobity qanday tasvirlangan.

Boshqa

Turli qutilar uchun hali ham juda ko'p tayyor konfiguratsiya to'plamlari mavjud, shuning uchun sotuvchi o'z-o'zini sozlash uchun bir soat sarflamaydi. Imkoniyatlarim yig'indisi uchun terini osongina tanlayman.

Urinish

Otzhe. Bizda VirtualBox va Vagrant o'rnatilgan. Endi kesishni boshlash vaqti keldi. Mi domilis, scho vicoristovuvatimemo qutisi Laravel/Homestead. Tomoqqa qarshi ko'rsatmalar mavjud. Bu haqda bilib oling, uning parchalari ko'proq dolzarb ma'lumotlarni olib qo'yishi mumkin. Men oddiy so'zlar bilan tasvirlab beraman.

Yana bir bor uyga qaytaylik, shunda barcha loyihalarimiz kataloniyada yotadi D:\mening loyihalarim, tatka uchun tashkil etilgan. Men o'zim butun katalogni berdim. Siz yogani o'zingiz bilan almashtirishingiz mumkin.

Keyin buyruq satrida buyruqlarni kiritishingiz kerak bo'ladi. Biroq, men ovozni o'zgartirishni tavsiya qilaman buyruq qatori tarjimon git bash, bu Windows ostida git bilan kiritilgan. Yoga bilan shug'ullaning va buyruqni kiritish orqali loyihalar bilan katalogga o'ting

CD / D / mening loyihalarim

(Diskning g'alabali harflari yo'lida jargonga hurmat ko'rsating). Endi siz qutining o'zini ishga tushirishingiz kerak, so'ngra uning uchun konfiguratsiya fayllari to'plami bilan omborni ishga tushirishingiz kerak. Vikonuemo:

Vagrant qutisiga laravel/homestead git clone qo'shing https://github.com/laravel/homestead.git Homestead

Otzhe, quti zavantazhena, konfiguratsiya bir xil bo'ladi. Endi konfiguratsiyani ishga tushirishni boshlash kerak (skript faqat fayllarni o'z joyiga ko'chiradi). Mahalliy kompyuteringizda xost faylini avtomatik boshqarish imkonini beruvchi plaginni o'rnatamiz. Vikonaite (Bosh qismida 7.0.1 versiyasiga ega bo'lgan boshcha bor - maqola yozish paytida mavjud. Qolgan sarlavha ham kerak):

cd Homestead git checkout v7.0.1 ./init.sh vagrant plaginini o'rnating vagrant-hostmanager

Agar sizning uy katalogingiz aybdor bo'lsa, Homestead.yaml faylini o'chirish uchun .homestead katalogi paydo bo'ladi. konfiguratsiya fayli YAML formatida, qaysi biri uchun aybdor bo'lsangiz, kod muharriri bo'ling va uni tahrirlang. Keling, o'rtada nima borligini ko'rib chiqaylik. Men sizga sinov konfiguratsiyasida yaratgan tahrirlangan faylni ko'rsataman. Batafsil ma'lumot uchun Homestead konfiguratsiya hujjatlariga murojaat qilishingiz mumkin.

Ip: "192.168.22.2" xotira: 2048 protsessor: 2 ta provayder: virtual quti papkalari: - xarita: d:\myProjects: /home/vagrant/www saytlar: - xarita: hmvc.app uchun: /home/vagrant/www/ hmvc /public - map: yiibasic.app to: /home/vagrant/www/yii2basic/web bazalari: - homestead

Bu erda virtual mashinaning IP-manzili 192.168.22.2 ekanligini ko'rishingiz mumkin, u 2 GB operativ xotira va 2 protsessor yadrosiga ega. Provayder (gipervisor) - VirtualBox.

Quyidagi katalog ro'yxatini bering mahalliy tizimlar virtual mashina kataloglari bilan taqqoslanadigan papkalar. Menda ulardan biri bor - d:\myProjects katalogi (xarita direktivasi uchun ko'rsatmalar) virtual mashinaning o'rtasida joylashgan /home/vagrant/www (ko'rsatma uchun ko'rsatmalar) katalogiga mos keladi. Shunday qilib, o'rtadagi barcha fayllar va kataloglar virtual mashinaning o'rtasida belgilangan tarzda avtomatik ravishda mavjud bo'ladi.

Eng pastki qismida - ma'lumotlar bazasi ma'lumotlar bazasi. Men uy xo'jaligi nomi bilan atalgan bitta ma'lumotlar bazasiman.

Quyidagi fayllar ko'proq ma'lumotga ega, masalan, portlarni mahalliy mashinadan virtualga o'tkazish haqida ma'lumot. Iste'mol qilish uchun siz imkoniyatni yutib olishingiz mumkin.

Shundan so'ng, saqlash konfiguratsiya fayli sifatida virtual mashinani ishga tushiring. Git-bash tarjimoniga o'tish va /D/myProjects/Homestead katalogiga o'tish bilan vagrant up buyrug'i tugaydi.

Ushbu buyruqning birinchi ishga tushirilishi virtual mashinani qutidan tomoqqa olib chiqadi va konfiguratsiya konfiguratsiya fayllarigacha amal qiladi. Virtual mashinani yuklab olish uchun /D/myProjects/Homestead katalogini ko'rib chiqing, so'ngra vagrant to'xtatish tugmasini bosing. Virtual mashinaning yaqinlashib kelayotgan ishga tushirilishi sezilarli darajada tezroq bo'ladi, shardlar bo'ladi tayyor rasm virtual mashinalar, qutidan ochilgan va tuzatilgan.

Agar siz konfiguratsiya faylini o'zgartirsangiz, vagrant provision buyrug'ini bajarish orqali primus largish-ni ishga tushiring. Konfiguratsiyadagi barcha o'zgarishlar oqimli virtual mashinaga kiritiladi.

Homestead Curation uchun global kirish

Homestead virtual mashinasidan foydalanish yo'llarining tavsifi barcha loyihalarni mahalliy mashinaga o'rnatish uchun global miqyosda o'rnatilishi mumkinligi sababli, ushbu virtual mashinani d: MyProjects Homestead katalogidan emas, balki boshqarish imkoniyatiga ega bo'lish maqsadga muvofiqdir. bir joyda.

Tse duzhe tirnoqqa oson. Turli xil operatsion tizimlar uchun qanday ishlashni bilish uchun hujjatlarning ushbu nuqtasiga qayting.

Visnovok

WEB-qo'shimcha chakana sotuvchilarda virtual mashinalardan foydalanish hozirgi holatda bir qator ishchi stantsiyalarda keskinlashtirish va yoga yordamini o'rnatish quvvatini sezilarli darajada oshiradi. Rozrobnik Windows ostida veb-serverni o'rnatish uchun bir soat sarflamaydi, chunki u ba'zan shamanik bilimlarni talab qiladi va uzluksiz kechirim oqimini qabul qilish uchun vaqtni behuda sarflamaydi. Ayniqsa, siz ko'rganingizdek, siz ozgina rozrobkoy qilishni boshlashni xohlaysiz, Windows-da tomoqning keskinlashishi haqida tashvishlanishingiz shart emas.

Virtual mashina va ushbu variantning resurslaridagi farq, Windows-da mahalliy ravishda keskinlashuv nolga teng. Virtual mashinani maksimal darajada g'alaba qozonishda samaradorlik. Dodatkovym dosvidom vikoristannya bunday kengaytirish usuli, masalan, Debian yoki Ubuntu uchun oddiy operatsion tizimlarning passiv tiklanishi bo'ladi.

Virtual mashinalar bilan manipulyatsiyalar buyruq satri orqali yoki PhpStorm IDE-dagi tugmalarni bosish orqali amalga oshiriladi (Tools-Vagrant menyusida). Asosiy boshqaruv buyruqlari:

vagrant up - virtual mashinani ishga tushiradi. Agar virtual mashina hali o'rnatilmagan bo'lsa, u orqaga qarab turadi (agar kerak bo'lsa, qutining rasmini oling).

vagrant stop - virtual mashinani qo'llab-quvvatlaydi.

vagrant qayta yuklash - virtual mashinani qayta yuklash.

vagrant ssh - ssh-ni virtual mashinaga kiritadi.

vagrant ta'minoti - virtual mashinani tiklash (masalan, ular konfiguratsiya fayllarini o'zgartirdilar).

Reshtu buyruqlarini vagrant yordamida topish mumkin.

Uzoq vikoristanya!

- virtual mashinalarni tanlash va boshqarish uchun barcha yordamchi dastur. Z y y yordami bilan siz larynxing odatiy jarayonini avtomatlashtirishingiz mumkin (z kipriklar) virtual mashinalar.

Vagrant ishining mohiyati shundaki, yozish yordami uchun, xususan, ushbu dasturlar uchun, fayllar allaqachon o'rnatilgan virtual mashinalar uchun konfiguratsiya fayllari tanlanadi. Bunday tizimlarning mualliflarini bunday Vagrant konfiguratsiya fayliga qarash va faylni olish orqali topish mumkin, biz uni OS kompyuterimizda olishimiz mumkin. Qulflash uchun konfiguratsiyani o'zgartirishimiz yoki o'zgartirishlar kiritishimiz mumkin. Natijada, muallifning operatsion tizimi paydo bo'ladi, ammo qo'shiqni sozlash bilan.

Linuxda Vagrantni qanday o'rnatish kerak

Vagrant parchalari VirtualBox orqali haddan tashqari yuklashga o'xshaydi, keyin VirtualBox-ni o'rnatish deyarli kerak bo'ladi.

Endi, VirtualBox allaqachon tizimingizda bo'lsa, tizimingizning standart omborlarida vagrantni qidiring, bu hamma narsa uchun yaxshiroqdir, u allaqachon mavjud.

Ubuntu, Linux Mint, Debian-ga o'rnatish uchun, Kali Linux bu ḭ́xídni jamoani mag'lub etdi

Sudo apt install vagrant

Arch Linux, BlackArch yoki boshqa dasturlarga o'rnatish uchun buyruqni kiriting:

Sudo pacman -S vagrant

Vagrantni Windows-ga qanday o'rnatish kerak

Windows-dagi Vagrant uchun grafik o'rnatuvchi ham mavjud, uni yuklab oling va o'rnating.

Vagrant o'rnatish papkasi sifatida C:\Program Files\ emas, balki ruxsatlar va kirish huquqlari bilan dasturni soddalashtirish imkonini beruvchi boshqa papkani tanlang:

Qayta rivojlangandan so'ng, buyruq qatorini oching Windows qatori. Tse bosish orqali siqib chiqarilishi mumkin win+x, Víkni tanlang Windows PowerShell(administrator). PowerShell-dan buyruq qatoriga o'tish uchun kiriting

Ushbu konsolda buyruqni kiriting:

Bu dastur tomonidan kodni standart sozlashda aybdor:

Agar kechirishni istasangiz yoki faqat oldini olish uchun plaginlarni yangilang:

Vagrant plaginini yangilash

Vagrant-vbguest plaginini o'rnatish

vagrant-vbguest - bu VirtualBox Mehmon qo'shimchalarida avtomatik ravishda o'rnatiladigan Vagrant plaginidir.

Operatsion tizimdan qat'i nazar, plagin tajovuzkor buyruq bilan o'rnatilishi uchun javobgardir:

Vagrant plaginini o'rnating vagrant-vbguest

Agar Windows-da ushbu plaginni o'rnatishda muammoga duch kelsangiz, quyidagi buyruqni sinab ko'ring:

C:\vagrant\vagrant\embedded\bin\gem.bat vagrant-vbguest-ni o'rnating

Bundan tashqari, Windows xavfsizlik devori dasturdan chiqish uchun ruxsat so'rashi mumkin:

Vagrant-vbguest plagini ishga tushirildi va virtual mashinalarda qulflash uchun g'alaba qozondi. Win qutisi ishga tushishi bilan avtomatik ravishda boshlanadi (Vagrant virtual mashinalarni shunday chaqiradi). Chiqish uchun scho vin pratsyuê schorazu quti band bo'lganda, keyin buyruqlar boshqacha bo'lganda vagrant yoki vagrant qayta yuklash. Vín emas pracyuvatime qachon commandí vagrant rezyume(yoki tikanli qutida vagrant) shuning uchun virtual mashinani yangilashda bir soat vaqt sarflamang.

Ushbu plaginni o'chirish uchun uni virtual mashinalar sozlamalariga o'rnating vbguest.auto_update ustida yolg'on.

Yak koristuvatsya Vagrant

Vagrant konfiguratsiya fayli asosida virtual mashinalarni tanlaydi Vagrantfayl. Siz uchun yaratishingiz va burishingiz mumkin Shved halqum o'z imkoniyatlari yoki boshqalar tomonidan tayyorlangan turli xil operatsion tizimlarni o'rnating. Ajoyib to'plam ichida joylashgan bo'lib, u erda sizga tegib ketgan qutini tanlashingiz va uni tanlashingiz va keyin buyruq ongining yordami uchun uni ishga tushirishingiz mumkin:

Masalan, hujumkor xavfsizlik tayyorlangan kali-linux-nur,

keyin quyidagi buyruqlar bilan o'rnating va ishga tushiring:

Vagrant init offensive-security/kali-linux-light vagrant up

Boshqa mashhur tizimlarni qo'llang:

Boshqa tizimlar uchun papka nomlariga qarang, shuning uchun turli papkalarda sichqonchani ko'tarish buyruqlarini bajaring.

Vagrant nafaqat qutilarni zawant qiladi va ishga tushiradi, balki ularning o'rtasida skriptlarni ham ishga tushiradi - shuning uchun tizimni yanada buklanadigan tarzda o'rnatish mumkin, quyida bu erda ko'rsatilgan. Sizga yangi arxiv kerak bo'lishi mumkin. Keyin faylni o'chirish uchun papkaga o'tishingiz kerak bo'ladi Vagrantfayl va u erga yugur vagrant.

Vagrant nima?

Men Vagrantni o'z infratuzilmasiga ega virtual mashinalarni (VirtualBox, VMWare) nazorat qiluvchi sifatida tasvirlagan bo'lardim. Vagrant, ko'rsatmalarni keyingi tayyorlash uchun mahalliy mashinada server tomonida o'tkirlash kabi ishga tushirishga imkon beradi (xavfsizlik dasturi o'rnatilgan o'tkirlash tafsilotlari (dev, test, prod) orqali necha yillik ish bajarilgan). ishga tushiriladi). Keling, Vagrant bu muammolarni hal qila oladimi yoki yo'qligini bilib olaylik. Chi pereverimo tse, va chi sharobni ko'proq qiyinchilik va kam foyda keltirmaydi.

Uchrashuv

virtual mashina nima deb nomlanishi asosida boksni nomlash

config.vm.box="lucid10x64"

# Portlarni uzatish (80 ta virtual mashina uchun 8080 ta mashinamiz)

config.vm.network:forwarded_port, host: 8080, mehmon: 80

# 2 tomonlama sinxronlash katalogi (mahalliy, virtual)

config.vm.synced_folder "/home/stas/www/vagrant/src", "/var/www"

Eslatma

Bloklashdan so'ng, loyiha uchun oqim katalogi (Vagrantfile joylashgan) allaqachon /vagrant katalogi bilan sinxronlashtiriladi (virtual tizimdagi ildiz tizimida). DocumentRoot Web Apache server butun katalogni yoritadi. /var/www da qo'shimcha sinxronlash shart emas, lekin men bu konfiguratsiyani Apache o'rnatilmaydigan boks uchun misol sifatida payvand qildim.

Eslatma

Virtual mashinani qayta sozlash uchun siz loyihangiz oʻrtasida index.php faylini yaratishingiz va Vagrant konfiguratsiyasini qayta sozlashingiz kerak:

vagrant qayta yuklash

Shundan so'ng, brauzer tomonini oching http://localhost:8080 - bu sizning index.php bo'ladi.

Loyihamiz uchun virtual mashinani (ta'minot, xavfsizlik) har qanday usulda tayyorlang. Ulardan biri qobiq skriptini ishga tushirish bo'lib, unda nozik sozlash uchun zarur bo'lgan barcha yo'nalishlar ko'rsatilgan. Keling, mc (Apache o'rnatish tugmasi) ni o'rnatamiz. Loyihaning ildizida bootstrap.sh faylini yarating:

#!/usr/bin/env bash

apt-get yangilanishi

apt-get install mc

Vagrantfile-da virtual mashinani ishga tushirgandan so'ng ushbu skriptni ishga tushirish kerakligini ko'rsating:

config.vm.provision:shell, :path => "bootstrap.sh"

Xavfsizlik yangilanishlari bilan konfiguratsiyani qayta yuklang:

vagrant qayta yuklash --provision

boshqaruv

Virtual mashina tomonidan kuratsiya uchun buyruqlar:

vagrant ssh # vagrant ildizi ostida SSH orqali ulanish

vagrant to'xtatib turish # pauza

vagrant stop # vimknuti

vagrant qayta yuklash # konfiguratsiyani qayta yuklash (shart yo'q)

vagrant qayta yuklash --provision

vagrant yo'q qilish # virtual mashinani o'chirish

vagrant box ro'yxati # Mavjud "qutilar" ro'yxati

Hurmatli bo'ling!

Koristuvach vagrant buyruqlarni parolsiz root (sudo) sifatida ishlatish huquqiga ega.

Moslashtirish

VAGRANT_HOME - aniqlikni o'zgartiring, yo'lni VagrantBox "s bilan katalogga o'tkazing ( o'zgartirishni qanday o'rnatish kerak).

Quvvatlantirish manbai

P: Tarqatish/skript kodi qayerda bo'ladi, bu men uchun qanday mumkin? Doimiy sinxronlansinmi? Shvidko-chi?

Savol: Siz ishlayotganingizda kod mahalliy katalogga joylashtiriladi. Loyiha uchun katalog allaqachon virtual mashinadan sukut bo'yicha sinxronlangan.

P: Oddiy LAMP serverini ishlab chiqish qancha vaqt oladi?

Savol: Vagrant Box sotib olish ~ 20 daqiqa. Agar konfiguratsiya fayli allaqachon tavsiflar bilan bir xil bo'lsa, agar hamma narsa eskirgan paketlar ko'rinishida saqlangan bo'lsa - barcha depozitlar yo'q qilinadi va tiklanadi (chunki badbo'y hid qutining o'ziga kiritilmagan). O'tkirlash va virtual mashinalarni yaxshilashni boshlaganingizda - butun yil davomida kerakli o'tkirlash tavsifiga sarflashga tayyor bo'ling.

Z: O'tkirlashtirilgan bitta LAMPga texnik xizmat ko'rsatishning o'rtacha narxi?

V: Men ko'plab jarayonlarning xotirasini qanday muzlatish kerakligini tushunishga harakat qilyapman.

Vagrant - virtual media bilan keruvannya uchun tse zasyb. Vagrantda bir xil muammo bor, masalan: sizning kompyuteringizda veb-saytingiz bor, lekin serverda emas. Aks holda, agar sizning hamkasbingizning yozish kodi boshqa birov bilan ishlayotgan bo'lsa, siz bilan ishlashni xohlamaysiz.

Vagrant yak

Vagrantning asosi qutilardir. Box - biz butun faylni yakunlaymiz va uni virtual vosita bilan yakunlanmaguncha tayyorlaymiz. Misol uchun, men Nginx + PHP-FPM + MySQL (LEMP) robot havolasidaman va menda ishlaydigan serverim bilan bir xil bo'lgan quti tayyor. Butun jamoa uchun bir xil tarqatish vositasini ta'minlash uchun qutilar hamkasblarga topshirilishi kerak.

Virtual mashinani sozlash (siz ko'rgan qancha xotiralar, masalan, faqat asosiy tizimingiz bilan ishlaydigan kataloglar) Vagrantfile deb ataladigan bitta faylda joylashgan. Shuningdek, ushbu fayl bo'yicha yordam uchun Vagrant birinchi ishga tushirilganda qaysi buyruqlar ayblanishini belgilashingiz mumkin. Misol uchun, siz nomlar nomidan ma'lumotlar bazasini yaratishingiz yoki Nginx-ni yaratishingiz mumkin.

Yak koristuvatsya Vagrant

Vagrant buyruq qatoridan g'alaba qozonadi. Buyruqlar ixcham, eslab qolish oson va mantiqiy. Masalan, virtual muhitni ishga tushirish uchun viconate buyrug'i kifoya qiladi: vagrant up . Ovoz, Vagrant robotlarining ketma-ketligi quyidagicha ko'rinadi:

  1. vagrant box add [im'ya box "a]" buyrug'i bilan bizga kerak bo'lgan qutini o'rnatamiz;
  2. biz Vagrantfaylni vagrant init buyrug'i bilan yaratamiz va bu aniq;
  3. vagrant up buyrug'i bilan Vagrantni ishga tushiring;
  4. robot Vagrantga vagrant to'xtatish buyrug'i bilan yuklangandan so'ng;
  5. agar loyiha tugallangan bo'lsa, virtual muhitni vagrant destroy buyrug'i bilan ko'rish mumkin.

Qutini oling

Hayotning barcha holatlari uchun minglab tayyor qutilarni HashiCorp veb-saytida topish mumkin. Qrim kayfiyati bor toza o'rnatish eng mashhur operatsion tizimlar. Bunday quti sizning ho'l qutingiz uchun asos sifatida ishlatilishi mumkin, chunki u maxsus talab qilinadi. Vlasny box'va shuning uchun siz rozpovsyudzhuvati, yakshcho ko'rsatilgan saytda ro'yxatdan o'tishingiz mumkin.

VirtualBox robotini qanday qilib yangi bosqichga olib chiqish mumkin - katta partiyalarda virtual mashinalarni yaratish, ularni chegarada tashkil qilish? Nima, bitta konfiguratsiya fayli va serverlarning oddiy tuzilishini yaratish, papkalarni almashish va portlarni qayta yo'naltirish uchun bir nechta buyruqlar? Allaqachon tsikavo?

Kirish

Loyiha rahbari menga Mozilla, Nokia yoki DISQUS kabi ulkan IT olami bilan taqdirlanganimni eslatadi. "Tramp" (va loyihaning o'zi shunday tarjima qilingan) github davrining eng yaxshi an'analarida yaratilgan:

  1. Oddiy va ma'lumotli sayt: www.vagrantup.com.
  2. Ruby-da yozilgan va keng qarashda joylashtirilgan tashqi kod: github.com.
  3. Ikkita tosh uchun sharobning poydevori o'sib chiqdi ajoyib kilkistyu har qanday lazzatlanish uchun ushbu plaginni qo'shing.

Oʻrnatilgan

Vagrant yoqut toshidan boshqa narsa emasligidan qat'i nazar, yaratuvchilar juda ko'p o'rnatish usullarini namoyish etadilar.

Birinchisi, downloads.vagrantup.com saytidan boshqa operatsion tizim paketini o'rnatish. Windows, OS X va kengaytirilgan Linux distributivlari uchun mahalliy o'rnatuvchilar mavjud (Deb / RPM paketlari, shuningdek global o'rnatuvchi). Yana biri boshqa marvaridni o'rnatishdir:

$ gem install vagrant

Keyingi safar tizimda yangi jamoa paydo bo'ladi - vagrant. Va biz birinchi virtual mashinamizni yaratishga tayyormiz:

$ vagrant box add precise64 http://files.vagrantup.com/precise64.box $ mkdir my_project $ cd my_project $ vagrant init precise64 $ vagrant up

Hammasi shu, endi biz robotlarga o'tamiz - biz lagerni qayta ko'rib chiqamiz:

$ vagrant holati Joriy VM holati: sukut bo'yicha ishlaydi

Standart ubuntu-ni ishga tushirgandan so'ng, SSH orqali tizimga kiring:

$ vagrant ssh Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic x86_64) ga xush kelibsiz * Hujjatlar: https://help.ubuntu.com/ Vagrant tomonidan yaratilgan virtual mashinangizga xush kelibsiz. Oxirgi kirish: Dushanba 28-yanvar 13:51:24 2013 yil 10.0.2.2 [elektron pochta himoyalangan]:~$

Asosiy tuzilmalar

Asosiy saqlash (tayanch quti) - ce maxsus tarzda virtual mashinalar shablonlari tayyorlanadi, bundan tashqari virtual mashinalar vositachisiz yaratiladi. O'ng tomonda, virtual mashinani yaratish jarayonini tezlashtirish uchun asosiy tanlovni nusxalash va uni allaqachon Vagrant konfiguratsiya fayliga o'zgartirish. Natijada, bir tomondan, virtual mashina konfiguratsiyasining nuanslari haqida tashvishlana olmaysiz (masalan, xotira yoki kontrollerlarning xotirasini saqlang), boshqa tomondan - agar kerak bo'lsa, ushbu nuanslarning barchasini osongina o'zgartirish mumkin. . Shunday qilib, buyuk dunyo yangi mashinani yaratishda bir soatni tejaydi, bu sizga keraksiz hamma narsani "haydash" imkonini beradi va keyin uni yangisiga ko'ra yaratishga imkon beradi. Tizimdagi asosiy tanlovlar buyruq bilan qo'shiladi:

$ vagrant qutisini qo'shing<имя сборки>

Vagrant chakana sotuvchilarning o'zlari ba'zi asosiy tanlovlarni ko'rsatadilar - Ubuntu-ning 32-bit va 64-bitli viconan uchun qolgan ikkita versiyasi (ulardan biri tizimda allaqachon o'rnatilgan):

Ale, bu xochda, tugashdan uzoqdir. Ísnuê spetsíalny sayt, de kozhen bazhayuchy uning asosiy buklama vyklasty mumkin. Manzil uchun V_grantbox: www.vagrantbox.es. U erda, sizga yoqadigan narsani tanlay oladigan odam bo'lsin. Assortimentda: Debian, Windows Server, FreeBSD, CentOS, Gentoo va boshqalar.

Bundan tashqari, siz o'zingizning boshlang'ich konfiguratsiyangizni osongina yaratishingiz mumkin, lekin biroz ko'proq.

VIRTUALBOXDA YANGI 4.2

Nutqdan oldin yaqinda Oracle chiqarildi yangi versiya VirtualBox raqami 4.2. Men haligacha o'tganim yo'q joriy versiya, keyin, shubhasiz, siz innovatsiyalar haqida bilib olasiz.

Virtual mashinalar guruhlari

Yangi menejer virtual mashinani har qanday printsip bo'yicha guruhlash qobiliyatiga ega bo'ldi (masalan, operatsion tizim turi uchun, vikoristovuyutsya hidi bo'lgan loyiha uchun yoki boshqa). Guruhlar sizga virtual qutida chaqiriladigan butun hayvonot bog'ini tashkil qilish, shuningdek, guruh operatsiyalarini bajarish imkonini beradi - masalan, siz guruhdagi tegishli jamoani tanlab, mashinalar to'plamini boshlashingiz mumkin.

Avtomatik ishga tushirilsinmi? "Bezmordovy" yugurish

Shunday qilib, Boshsiz ishga tushirish sarlavhasi - ya'ni mashina interfeysi bilan oynani ochmasdan virtual mashinani ishga tushirish - endi bevosita menejerdan mumkin. Ilgari, virtual mashinani ishga tushirish uchun men konsolga borib, u erda kshtalt yozishim kerak edi:

$VBoxManage startvm... --type headless

VirtualBox-dan virtual mashinani ishga tushirishda interfeysni o'chirish kifoya. Boshsiz virtual mashina rejimida ishga tushirilgan Zupiniti buyruq satriga kirgan menejer tomonidan ham amalga oshirilishi mumkin.

Ikki marta bosish orqali virtual mashinalarni yaratish

To'g'ri, u faqat interfeysga boy (shuning uchun virtual mashinani tezda yaratishning iloji yo'q), lekin baribir. Agar birinchi dialog oynasida yangi virtual mashinani yaratishda "Ta'rifni biriktirish" tugmasini bosing, keyin "barchasi birida" turidagi boshqa dialog oynasi paydo bo'ladi, unda siz yaratiladigan mashinaning parametrlarini osongina sozlashingiz mumkin. .

Mesh interfeyslarni polimerizatsiyasi

Endi VirtualBox 36 dan virtual mashinalarni yaratishga imkon beradi chegara kartalari transport vosita ichida. Shuningdek, yangi funktsional reglamentning taqdimotlari tarmoqli kengligi, virtual mashinaning "nezherlivist" ni aylanib o'tish uchun

Protsessor unumdorligini oshirish

Ko'pgina zamonaviy protsessorlar protsessor xotirasini boshqarish bloki uchun ichki sahifalarni virtualizatsiya qilish texnologiyasini joriy qilmoqdalar (Intel uni kengaytirilgan sahifa jadvallari deb ataydi, AMD esa uni tezkor virtualizatsiya indeksi deb ataydi). 4.2 versiyasidan virtual quti endi qo'llab-quvvatlanadi. Shu sababli, Core i5 yoki AMD Buldozer egalari yangilanishdan so'ng robot virtual mashinasi tezligining bir xil o'sishini eslashda aybdor.

Yangi mehmonlar OS

Rasmiy ravishda qo'llab-quvvatlanadigan mehmon operatsiyalari ro'yxati endi quyidagi nomlar bilan to'ldiriladi:

  • Mac OS X Mountain Lion
  • Windows 8
  • Windows Server 2012
  • Ubuntu 12.04 Aniq Pangolin
  • Fedora 17
  • Oracle Linux 6.3

Bundan buyon muammosiz barcha joriy operatsiyalar VB o'rtasida ishlashga bog'liq.

Vagrant fayl

Tizimning muhim qismi Ruby-da yozilgan maxsus konfiguratsiya faylidir. Sharob Vagrantfile deb ataladi va loyihada zarur bo'lgan virtual mashinalarni tavsiflaydi. Shuni ta'kidlash kerakki, tarqatish buyrug'ida uning a'zolari o'rtasida versiyani boshqarish tizimi orqali kengaytirilgan bir xil Vagrantfile ishlatiladi. Shuni ta'kidlash kerakki, Vagrant konfiguratsiyani bir necha bosqichdan ketma-ket o'qiydi va keyingi bosqich avvalgisining parametrlarini o'zgartirishi mumkin. Shunga qaramay, jalb qilishning aniq tartibi:

  1. Vagrantfile yo'q bo'lib ketish arafasida, u yoqut toshida qasos olinadi.
  2. Keyinchalik, Vagrantfile asosiy to'plam katalogidan tanlandi (u --vagrantfile parametri bilan tanlangan).
  3. Keling, vagrantning uy katalogidan (~/.vagrant.d/) Vagrantfile faylini olaylik va bu vagrantfaylga unga ba'zi parametrlarni qo'shish imkonini beradi.
  4. Vagrantfile-ni loyiha katalogidan olish kerak bo'lgan oxirgi narsa. Eng muhimi, siz loyihaning barcha asosiy o'zgarishlarini bilasiz va warto faylini versiyani boshqarish tizimiga qo'shasiz.

Vagrantfayl uchun mavjud parametrlarning so'nggi ro'yxatini hujjatlarda topish mumkin. Agar siz virtual muhit yaratgan bo'lsangiz, siz minimal konfiguratsiyaga ega bo'lishingiz mumkin:

Vagrant::Config.run |config| config.vm.box = "precise64" oxiri

Ta'minlash

Bo'sh virtual mashinani ishga tushirish (unutmaylik va tugallanganning darajasiga ixtisoslashamiz) qiyinroq bo'lishi mumkin emas, chunki vagrant bir xil darajaga ega (provayderlar). turli yo'llar bilan virtual mashinani nomda emas, balki o'rtada sozlang. Aslida, virtual mashina yaratilgandan keyin g'alaba qozonadigan turli xil qo'shimcha skriptlarni yozish mumkin. Rubistadagi Oskílki vagrant imlolar, keyin mashinaning konfiguratori sifatida ular uchun o'zgaruvchilarni tanlang: Chef Solo, Chef Server, Puppet Standalone, Puppet Server va original Shell. Chef va Puppet kengaytirilishi va tez-tez eng istiqbolli loyihalarni amalga oshirish uchun joylashtirilishi mumkin, shuning uchun biz bizni hurmat qilmaymiz va eng oddiy variantni - qobiq skriptini ko'rib chiqamiz. Oqimlar katalogida install_redis.sh nomli fayl yaratamiz va uni o‘zgartiramiz:

sudo apt-get -q -y redis-serverni o'rnating

Vagrant faylidan oldin, to'ldirish buyrug'ini dodamo:

Vagrant::Config.run |config| config.vm.box = "precise64" config.vm.provision:shell, :path => "install_redis.sh" oxiri

Endi biz mashinamizni buyruq bilan qayta sozlaymiz:

$ vagrant qayta yuklash

Natijada, bizning virtual mashinamizda yangi turp paydo bo'ladi.

To'rni yotqizish

Shubhasiz, virtual mashina uchun eng muhim sozlamalardan biri bu tarmoq interfeyslarining konfiguratsiyasi. Per qilichbozlik config.vm.network parametrini tasdiqlang. Vagrant tanlash uchun ikkita variantni taklif qiladi: panjaradagi robot, panjara bilan o'ralgan xost mashinasi, bu panjara orqali ulanish.

Birinchi tur uchun biz mashinaning IP-ni aniq belgilaymiz va chegara niqobini ham belgilashimiz mumkin (qulflash uchun 255.255.255.0 ishlatiladi). Shunday qilib, konfiguratsiya quyidagicha ko'rinadi:

Vagrant::Config.run |config| config.vm.box = "precise64" config.vm.provision:shell, :path => "install_redis.sh" oxiri

Boshqa holatda, mashina DHCP orqali IP-ni olib tashlaydi va xost-mashina tayinlangan merezhí-ning to'liq a'zosi bo'ladi. Agar xost mashinasida bir nechta mesh interfeyslari mavjud bo'lsa, biz ko'prik uchun qaysi birini ishlatishni tanlashimiz mumkin. Tarmoqli interfeyslarning nomlari ro'yxatini ko'rish uchun biz uni buyruq bilan tezlashtiramiz:

~$ VBoxManage ro'yxati bridgedifs | grep ^Ism nomi:en1: Wi-Fi (AirPort) nomi:en0: Ethernet nomi:p2p0

Men, ehtimol, kelajakda konfiguratsiyani ko'raman:

Vagrant::Config.run |config| config.vm.box = "precise64" config.vm.provision:shell, :path => "install_redis.sh" config.vm.network:bridged, :bridge => "en1: Wi-Fi (AirPort)" oxiri

Bundan tashqari, Vagrant sizga o'lja tashlashga ham imkon beradi. Eksa, masalan, bunday Vagrantfile sizga turp xost mashinasiga biriktirilgan mehmon mashinasining 6379-portidan xost-mashinadagi 8765-ga o'tkazish imkonini beradi.

Vagrant::Config.run |config| config.vm.box = "precise64" config.vm.provision:shell, :path => "install_redis.sh" config.vm.forward_port 6379, 8765 end

Qaysi variant yaxshiroq - tanlov sizniki, lekin har qanday holatda, bizning virtual mashinamiz allaqachon ma'lumotlar bazasi serveri rolini to'liq egallashi mumkin, siz unga mashinadan yoki boshqa virtual mashinadan kirishingiz mumkin.


Virtual mashinalar Dekilka

Nutqdan oldin bitta Vagrant-faylda bir nechta virtual mashinalarni ovozli qilish mumkin turli xil bog'ichlar bilan. Yak? Menimcha, keyingi dumba o'zi uchun gapiradi:

Vagrant::Config.run |config| config.vm.define:web do |web_config| web_config.vm.box = "web" web_config.vm.forward_port 80, 8080 end config.vm.define:db do |db_config| db_config.vm.box = "db" db_config.vm.forward_port 3306, 3306 oxiri

Bundan tashqari, virtual mashinaning qayta konfiguratsiyasini faqat quyidagi buyruqdan keyin mashinaga berish orqali boshlashingiz mumkin:

$ vagrant up web $ vagrant qayta yuklash JB

Sarlavhali papkalar

Boshqasi tsíkava o'ziga xoslik virtual quti - papkalar mehmon va xost mashinalari o'rtasida fayllarni oson almashish imkonini beradi. Tushunarli, Vagrant umid qiladi qo'lda yo'l ushbu parametrlarni sozlash. Buning uchun konfiguratsiya faylini tuzatish kifoya:

Vagrant::Config.run |config| config.vm.share_folder "ma'lumotlar", "/data", "ma'lumotlar" tugaydi

Bundan tashqari, NFS (Tarmoq fayl tizimi) protokolini qo'lga kiritgan papkalar yaxshi samaradorlikni, virtual quti uchun pastki papka papkalarini ko'rsatishini belgilash muhimdir. Boshqa tomondan, NFS Windows xostlarida qo'llab-quvvatlanmaydi. VirtualBox umumiy papkalari orqali NFS ustidan g'alaba qozonish uchun sozlamalarda quyidagilarni ko'rsatishingiz kerak:

Vagrant::Config.run |config| config.vm.share_folder("ma'lumotlar", "/data", "ma'lumotlar", :nfs => true) end

Bu itni suratga oling

Vagrant parchalari o'z funksiyalarini kengaytirish uchun moslashuvchan API bilan ta'minlaydi, Vagrant uchun qoidalarni buzadigan juda ko'p plaginlar mavjudligi ajablanarli emas. Sizda yangi g'oyalar paydo bo'lishi arafasida, chunki vagrantga yangi imkoniyatlar qo'shilishi mumkin - hujjatlarda qasos olish kerak bo'lgan maxsus bo'linma mavjud zarur tuzatishlar uni qo'ying (bit.ly/126iIsM).

Sahara

Plagin virtual mashinalar uchun parchadir: agar biror narsa noto'g'ri bo'lsa, uni osongina va oddiygina suratning qolgan qismiga o'tkazishingiz mumkin. Plagin ruby-hem (to'liq malakali) bo'lib, sahara deb ataladi. Ushbu o'rnatishdan so'ng, vagrant qo'shimcha buyruqqa ega - vagrant sandbox. Vikoristannyaning odatiy zaxirasi shunday ko'rinishi mumkin. Sandbox rejimini yoqing:

$ vagrant sandbox yoqilgan

Viroblyaemo qo'shiq aytadi díí (fayllar bilan mashq qiling, nashtuvannya va ínsheni o'zgartiring):

$ vagrant ssh

Agar ish natijasi biz uchun ma'qul bo'lsa - o'zgartirishni qabul qiling:

$ vagrant sandbox commit

Boshqacha qilib aytganda, tahrir qilish nomaqbuldir:

$ vagrant sandbox ortga qaytarish

I aftidan, qum qutisi rejimidan:

$ vagrant sandbox off

Asosiy to'plamlarni yaratish

Operatsion tizimlarning eng keng tasvirlari haqida allaqachon bilganlardan qat'i nazar, onangizning maxsus katlamasi kerak bo'lishi mumkin. Xavfsiz bo'lish xavfsiz (va hacker Vasya o'z sehrini Merejyada yotish uchun tanlovlardan biriga qo'shib qo'ydi), maxsus takomillashtirish zarurati yoki shunchaki qiziqish - bu qanday imkoniyat ekanligi muhim emas. Va bu erda bizga marvarid veewee, ushbu maqsadlar uchun maxsus ijodlar yordam beradi. Kob uchun, keling, yoga o'rnatamiz:

$ gem o'rnatish veewee

Veewee ombori ko'p sonli shablonlardan o'ch oladi. Biz uchun Vibero tsikaviy - bo'lsin dam olish versiyasi ubuntu serveri. Endi biz ushbu shablon asosida yangi asosiy to'plamni yaratmoqdamiz:

$ veewee vbox myubuntubox "ubuntu-12.10-server-i386" ni belgilaydi

Natijada, bizda baza-boks bo'yicha yangi vazifa bor. Papka ta'riflari/myubuntubox virtual mashinamizni tavsiflovchi fayllarga ega:

Definition.rb - postinstall.sh, - preseed.cfg.

Virtual mashinaning konfiguratsiyasini to'g'rilash uchun Trochs:

Veewee::Session.declare(( :cpu_count => "1", :memory_size=> "1024", :disk_size => "10140", :disk_format => "VDI", :hostiocache => "off", :os_type_id => "Ubuntu", :iso_file => "ubuntu-12.10-server-i386.iso", :iso_src => "http://releases.ubuntu.com/12.10/ubuntu-12.10-server-i386.iso", :iso_md5 => "b3d4d4edfc8f291af0b83f8a2ba19a2f", :iso_download_timeout => "1000", :boot_wait => "4", :boot_cmd_sequence => [ " ", "/install/vmlinuz noapic preseed/url=http://%IP%:%PORT%/preseed.cfg ", "debian-installer=en_US auto locale=en_US kbd-chooser/method=us ", "hostname =%NAME% ", "fb=false debconf/frontend=noninteractive", "klaviatura-konfiguratsiya/modelkod=Klaviatura-konfiguratsiya/modelkodi=Klaviatura-konfiguratsiyasi/layout=us klaviatura-konfiguratsiyasi/variant=us console-setup/ask_detect=false ", "initrd =/install/initrd.gz -- ], :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_pass ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "echo "%p"|sudo -S sh "%f"" :shutdown_cmd => "o‘chirish -P hozir", :postinstall_files => [ "postinstall.sh"], :postinstall_timeout => "10000"))

Endi buyruqni bajaramiz

$ veewee vbox yaratish myubuntubox

Biz virtual mashinani yaratishimiz, operatsion tizimning ISO tasvirini olishimiz, shuningdek, uni o'rnatishimiz va yangilashimiz uchun Veewee bir soatga mo'ljallangan. Shundan so'ng, ishni tugatish uchun jamoa sifatida men virtual mashinani jamoa tomonidan qayta ko'rib chiqaman

$ veewee vbox myubuntuboxni tasdiqlang

$ vagrant basebox eksport myubuntubox

Xo'sh, dan, vlasne, va bu hammasi. Endi asosiy tanlovimizni yengish uchun biz allaqachon buyruqlarni bilishimiz kerak. Ro'yxatga Dodamo qutisi:

$ vagrant box myubuntubox myubuntubox.box qo'shing

Biz allaqachon yaratilgan narsalar asosida yangi virtual mashina yaratamiz:

$ vagrant init myubuntubox

Hamma narsadan - endi eng paranoyak odamlar bizni sudga da'vo qila olmaydi, hatto hozir ham butun texnik jarayonni yaratish virtual vosita biz tomonimizdan nazorat qilinadi.

Visnovok

Rivojlanishning qulay o'rtasi sizga dasturiy ta'minot yoki operatsion tizimlarning umumiyligiga emas, balki muammolarga ko'proq e'tibor qaratishga imkon beradi va bu Vagrantning asosiy xususiyati. U bilan siz muammolardan xalos bo'lishingiz mumkin, agar hamma narsa chakana sotuvchining mashinasida ishlayotgan bo'lsa, lekin ishlab chiqarishda hech narsa yo'q. Zrozumilo, shu bilan birga, yoqutga yo'naltirilganlik bir vaqtning o'zida kuchli, ammo chakana sotuvchilar bir soat ichida bu muammoni hal qilishlarini tushunish yaxshiroq, masalan, Python yoki Java-da provayderlar ro'yxatini kengaytiradi. Men, shu bilan birga, VirtualBox kabi boshqa virtualizatsiya tizimlarini qo'shish ustida ishlamoqchiman.

Har qanday vaqtda, ayni paytda, cicavia loyihasi okremik chakana sotuvchilar uchun va chakana sotuvchilar guruhlari uchun o'xshaydi. Yangi bilimlar bilan omad tilaymiz!

© 2022 androidas.ru - Android haqida hamma narsa