SlideShare a Scribd company logo
Vagrant 의 활용
전인환 (treetory@gmail.com)
Vagrant 란?
● What is vagrant?
Usefulness of Vagrant
➔ For Developers
Say goodbye to "works on my machine"
bugs.
➔ For Operators
stop juggling SSH prompts to various
machines, and start using Vagrant to
bring sanity to your life.
➔ For Designers
No more bothering other developers to
help you fix your environment so you can
test designs.
Vagrant 도 일종의
협업도구라고 보면 됩니다.
Vagrant 설치
● Hypervisor (provider) 를 선택
● Vagrant downloads page 에서 Vagrant 다운
● 그리고 설치
Hypervisor 간의 충돌
➔ VirtualBox VS. KVM
echo ‘blacklist kvm-intel’ >>
/etc/modprobe.d/blacklist.conf
➔ VirtualBox VS. Hyper-V
Disable-WindowsOptionalFeature
-Online -FeatureName
Microsoft-Hyper-V-All
➔ Create the VM using 64-bit OS
enable the VT-D option in BIOS
Single Workflow - VagrantFile
● vagrant init
config.vm #1 : box
● What is Box?
● HashiCorp’s Vagrant Cloud box
catalog
● config.vm.box (string)
● config.vm.box_check_update (boolean)
● config.vm.box_download_checksum (string)
● config.vm.box_download_checksum_type (string)
● config.vm.box_download_client_cert (string)
config.vm.box_download_ca_cert (string)
config.vm.box_download_ca_path (string)
● config.vm.box_download_insecure (boolean)
● config.vm.box_url (string, array of strings)
● config.vm.box_version (string)
config.vm #2 : provider
● What is Provider?
● supported : VirtualBox, Hyper-V,
VMware, Docker and Custom
Provider
config.vm.provider "virtualbox" do |v|
v.gui = true
v.name = "my_vm"
v.default_nic_type = "82543GC"
v.linked_clone = true if
Gem::Version.new(Vagrant::VERSION) >=
Gem::Version.new('1.8.0')
v.customize ["modifyvm", :id,
"--cpuexecutioncap", "50"]
v.memory = 1024
v.cpus = 2
end
config.vm #3 : network
● Private or Public
● NAT or Bridge or Host-only
Vagrant.configure("2") do |config|
config.vm.network "private_network", type: "”, ip: "”,
netmask: "”, auto_config: "”, virtualbox__intnet: "”,
nic_type: "”
end
Vagrant.configure("2") do |config|
config.vm.network "public_network", ip: "”,
netmask: "”, auto_config: "”,
use_dhcp_assigned_default_route: "”, bridge: "”,
nic_type: "”
end
config.vm #4 :
synced_folder
● Very convenient function
● Share between Host Machine and
Guest Machine
Vagrant.configure("2") do |config|
config.vm.synced_folder “/home”, “/dev”
end
→ Guest Machine
/vagrant
config.vm #5 :
provision
● When is occured the
provisioning?
● execute shell script, ansible, chef,
puppet, salt and docker
● Once or Always or Never
Vagrant.configure("2") do |config|
config.vm.provision "shell", inline: "echo hello”, run:
"always”
end
Vagrant.configure("2") do |config|
config.vm.provision "bootstrap", type: "shell”, run:
"never” do |s|
s.inline = “echo hello”
end
config.ssh
● ssh configuration
● enough to use as default
● config.ssh.compression (boolean)
● config.ssh.config (string)
● config.ssh.dsa_authentication (boolean)
● config.ssh.export_command_template (string)
● config.ssh.extra_args (array of strings)
● config.ssh.forward_agent (boolean)
● config.ssh.forward_env (array of strings)
● config.ssh.forward_x11 (boolean)
● config.ssh.guest_port (integer)
● config.ssh.host (string)
● config.ssh.insert_key (boolean)
● config.ssh.keep_alive (boolean)
● config.ssh.keys_only (boolean)
config.ssh
● ssh configuration
● enough to use as default
● config.ssh.paranoid (boolean)
● config.ssh.password (string)
● config.ssh.port (integer)
● config.ssh.private_key_path (string, array of strings)
● config.ssh.proxy_command (string)
● config.ssh.pty (boolean)
● config.ssh.remote_user (string)
● config.ssh.shell (string)
● config.ssh.sudo_command (string)
● config.ssh.username (string)
● config.ssh.verify_host_key (string, symbol)
이렇게 씁니다.
➔ vagrant init
먼저 VagrantFile 을 생성합니다.
➔ vi VagrantFile
템플릿을 내 상황에 맞게 수정합니다.
➔ vagrant up
그리고 프로비저닝 합니다.
➔ vagrant halt
사용후엔 종료합니다.
감사합니다.
부족한 발표 들어주셔서
정말 감사합니다.

More Related Content

What's hot

Vagrant are you still develop in a non-virtual environment-
Vagrant  are you still develop in a non-virtual environment-Vagrant  are you still develop in a non-virtual environment-
Vagrant are you still develop in a non-virtual environment-Anatoly Bubenkov
 
Vagrant Workshop
Vagrant WorkshopVagrant Workshop
Vagrant Workshop
sys army
 
Nodejs web service for starters
Nodejs web service for startersNodejs web service for starters
Nodejs web service for starters
Bruce Li
 
Vagrant for Virtualized Development
Vagrant for Virtualized DevelopmentVagrant for Virtualized Development
Vagrant for Virtualized Development
Adam Culp
 
Continuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScriptContinuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScript
Lars Thorup
 
Vagrant - Version control your dev environment
Vagrant - Version control your dev environmentVagrant - Version control your dev environment
Vagrant - Version control your dev environment
bocribbz
 
Vagrant for real
Vagrant for realVagrant for real
Vagrant for real
Michele Orselli
 
Vagrant plugin development intro
Vagrant plugin development introVagrant plugin development intro
Vagrant plugin development intro
Budh Ram Gurung
 
Node.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ BenetechNode.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ BenetechChristopher Bumgardner
 
Nodejs Intro - Part2 Introduction to Web Applications
Nodejs Intro - Part2 Introduction to Web ApplicationsNodejs Intro - Part2 Introduction to Web Applications
Nodejs Intro - Part2 Introduction to Web Applications
Budh Ram Gurung
 
Nodejs Intro Part One
Nodejs Intro Part OneNodejs Intro Part One
Nodejs Intro Part One
Budh Ram Gurung
 
Introduction to Express and Grunt
Introduction to Express and GruntIntroduction to Express and Grunt
Introduction to Express and Grunt
Peter deHaan
 
Docker session I: Continuous integration, delivery and deployment
Docker session I: Continuous integration, delivery and deploymentDocker session I: Continuous integration, delivery and deployment
Docker session I: Continuous integration, delivery and deployment
Degendra Sivakoti
 
Development with Vagrant
Development with VagrantDevelopment with Vagrant
Development with Vagrant
John Coggeshall
 
Gestión de la configuración - Jenkins ci
Gestión de la configuración - Jenkins ciGestión de la configuración - Jenkins ci
Gestión de la configuración - Jenkins ci
Carles San Agustin
 
Grunt
GruntGrunt
Node4J: Running Node.js in a JavaWorld
Node4J: Running Node.js in a JavaWorldNode4J: Running Node.js in a JavaWorld
Node4J: Running Node.js in a JavaWorld
Ian Bull
 
Running JavaScript Efficiently in a Java World
Running JavaScript Efficiently in a Java WorldRunning JavaScript Efficiently in a Java World
Running JavaScript Efficiently in a Java World
irbull
 
DevStack
DevStackDevStack
DevStack
維泰 蔡
 

What's hot (20)

Vagrant are you still develop in a non-virtual environment-
Vagrant  are you still develop in a non-virtual environment-Vagrant  are you still develop in a non-virtual environment-
Vagrant are you still develop in a non-virtual environment-
 
Vagrant Workshop
Vagrant WorkshopVagrant Workshop
Vagrant Workshop
 
Nodejs web service for starters
Nodejs web service for startersNodejs web service for starters
Nodejs web service for starters
 
Vagrant for Virtualized Development
Vagrant for Virtualized DevelopmentVagrant for Virtualized Development
Vagrant for Virtualized Development
 
Continuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScriptContinuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScript
 
CasperJS
CasperJSCasperJS
CasperJS
 
Vagrant - Version control your dev environment
Vagrant - Version control your dev environmentVagrant - Version control your dev environment
Vagrant - Version control your dev environment
 
Vagrant for real
Vagrant for realVagrant for real
Vagrant for real
 
Vagrant plugin development intro
Vagrant plugin development introVagrant plugin development intro
Vagrant plugin development intro
 
Node.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ BenetechNode.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ Benetech
 
Nodejs Intro - Part2 Introduction to Web Applications
Nodejs Intro - Part2 Introduction to Web ApplicationsNodejs Intro - Part2 Introduction to Web Applications
Nodejs Intro - Part2 Introduction to Web Applications
 
Nodejs Intro Part One
Nodejs Intro Part OneNodejs Intro Part One
Nodejs Intro Part One
 
Introduction to Express and Grunt
Introduction to Express and GruntIntroduction to Express and Grunt
Introduction to Express and Grunt
 
Docker session I: Continuous integration, delivery and deployment
Docker session I: Continuous integration, delivery and deploymentDocker session I: Continuous integration, delivery and deployment
Docker session I: Continuous integration, delivery and deployment
 
Development with Vagrant
Development with VagrantDevelopment with Vagrant
Development with Vagrant
 
Gestión de la configuración - Jenkins ci
Gestión de la configuración - Jenkins ciGestión de la configuración - Jenkins ci
Gestión de la configuración - Jenkins ci
 
Grunt
GruntGrunt
Grunt
 
Node4J: Running Node.js in a JavaWorld
Node4J: Running Node.js in a JavaWorldNode4J: Running Node.js in a JavaWorld
Node4J: Running Node.js in a JavaWorld
 
Running JavaScript Efficiently in a Java World
Running JavaScript Efficiently in a Java WorldRunning JavaScript Efficiently in a Java World
Running JavaScript Efficiently in a Java World
 
DevStack
DevStackDevStack
DevStack
 

Similar to Vagrant 의 활용

Intro to vagrant
Intro to vagrantIntro to vagrant
Intro to vagrant
Mantas Klasavicius
 
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Gavin Pickin
 
Take Home Your Very Own Free Vagrant CFML Dev Environment
Take Home Your Very Own Free Vagrant CFML Dev Environment Take Home Your Very Own Free Vagrant CFML Dev Environment
Take Home Your Very Own Free Vagrant CFML Dev Environment
ColdFusionConference
 
Using Vagrant
Using VagrantUsing Vagrant
Using Vagrant
andygale
 
Vagrantfordevops
VagrantfordevopsVagrantfordevops
Vagrantfordevops
Deepanshu Gajbhiye
 
Devoxx UK 2013: Sandboxing with the Vagrant-Binding API
Devoxx UK 2013: Sandboxing with the Vagrant-Binding APIDevoxx UK 2013: Sandboxing with the Vagrant-Binding API
Devoxx UK 2013: Sandboxing with the Vagrant-Binding API
Hendrik Ebbers
 
Vagrant-Overview
Vagrant-OverviewVagrant-Overview
Vagrant-Overview
Crifkin
 
Lightweight and reproducible environments with vagrant and Puppet
Lightweight and reproducible environments with vagrant and PuppetLightweight and reproducible environments with vagrant and Puppet
Lightweight and reproducible environments with vagrant and PuppetHendrik Ebbers
 
Vagrant For DevOps
Vagrant For DevOpsVagrant For DevOps
Vagrant For DevOps
Lalatendu Mohanty
 
Quick & Easy Dev Environments with Vagrant
Quick & Easy Dev Environments with VagrantQuick & Easy Dev Environments with Vagrant
Quick & Easy Dev Environments with Vagrant
Joe Ferguson
 
Puppet Provisioning Vagrant Virtual Machine
Puppet Provisioning Vagrant Virtual MachinePuppet Provisioning Vagrant Virtual Machine
Puppet Provisioning Vagrant Virtual Machine
Arpit Aggarwal
 
Vagrant step-by-step guide for Beginners
Vagrant step-by-step guide for BeginnersVagrant step-by-step guide for Beginners
Vagrant step-by-step guide for Beginners
Sagar Acharya
 
Vagrant 101 Workshop
Vagrant 101 WorkshopVagrant 101 Workshop
Vagrant 101 Workshop
Liora Milbaum
 
Local development environment through virtualisation
Local development environment through virtualisationLocal development environment through virtualisation
Local development environment through virtualisation
Radu Barbu
 
Minicurso de Vagrant
Minicurso de VagrantMinicurso de Vagrant
Minicurso de Vagrant
Leandro Nunes
 
Ansible & Vagrant
Ansible & VagrantAnsible & Vagrant
Ansible & Vagrant
Mukul Malhotra
 
Powering Development and Testing Environments with Vagrant
Powering Development and Testing Environments with VagrantPowering Development and Testing Environments with Vagrant
Powering Development and Testing Environments with VagrantCoen Jacobs
 
FreeBSD: Dev to Prod
FreeBSD: Dev to ProdFreeBSD: Dev to Prod
FreeBSD: Dev to Prod
Sean Chittenden
 
Create Development and Production Environments with Vagrant
Create Development and Production Environments with VagrantCreate Development and Production Environments with Vagrant
Create Development and Production Environments with Vagrant
Brian Hogan
 
Automating with ansible (Part B)
Automating with ansible (Part B)Automating with ansible (Part B)
Automating with ansible (Part B)
iman darabi
 

Similar to Vagrant 의 활용 (20)

Intro to vagrant
Intro to vagrantIntro to vagrant
Intro to vagrant
 
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
 
Take Home Your Very Own Free Vagrant CFML Dev Environment
Take Home Your Very Own Free Vagrant CFML Dev Environment Take Home Your Very Own Free Vagrant CFML Dev Environment
Take Home Your Very Own Free Vagrant CFML Dev Environment
 
Using Vagrant
Using VagrantUsing Vagrant
Using Vagrant
 
Vagrantfordevops
VagrantfordevopsVagrantfordevops
Vagrantfordevops
 
Devoxx UK 2013: Sandboxing with the Vagrant-Binding API
Devoxx UK 2013: Sandboxing with the Vagrant-Binding APIDevoxx UK 2013: Sandboxing with the Vagrant-Binding API
Devoxx UK 2013: Sandboxing with the Vagrant-Binding API
 
Vagrant-Overview
Vagrant-OverviewVagrant-Overview
Vagrant-Overview
 
Lightweight and reproducible environments with vagrant and Puppet
Lightweight and reproducible environments with vagrant and PuppetLightweight and reproducible environments with vagrant and Puppet
Lightweight and reproducible environments with vagrant and Puppet
 
Vagrant For DevOps
Vagrant For DevOpsVagrant For DevOps
Vagrant For DevOps
 
Quick & Easy Dev Environments with Vagrant
Quick & Easy Dev Environments with VagrantQuick & Easy Dev Environments with Vagrant
Quick & Easy Dev Environments with Vagrant
 
Puppet Provisioning Vagrant Virtual Machine
Puppet Provisioning Vagrant Virtual MachinePuppet Provisioning Vagrant Virtual Machine
Puppet Provisioning Vagrant Virtual Machine
 
Vagrant step-by-step guide for Beginners
Vagrant step-by-step guide for BeginnersVagrant step-by-step guide for Beginners
Vagrant step-by-step guide for Beginners
 
Vagrant 101 Workshop
Vagrant 101 WorkshopVagrant 101 Workshop
Vagrant 101 Workshop
 
Local development environment through virtualisation
Local development environment through virtualisationLocal development environment through virtualisation
Local development environment through virtualisation
 
Minicurso de Vagrant
Minicurso de VagrantMinicurso de Vagrant
Minicurso de Vagrant
 
Ansible & Vagrant
Ansible & VagrantAnsible & Vagrant
Ansible & Vagrant
 
Powering Development and Testing Environments with Vagrant
Powering Development and Testing Environments with VagrantPowering Development and Testing Environments with Vagrant
Powering Development and Testing Environments with Vagrant
 
FreeBSD: Dev to Prod
FreeBSD: Dev to ProdFreeBSD: Dev to Prod
FreeBSD: Dev to Prod
 
Create Development and Production Environments with Vagrant
Create Development and Production Environments with VagrantCreate Development and Production Environments with Vagrant
Create Development and Production Environments with Vagrant
 
Automating with ansible (Part B)
Automating with ansible (Part B)Automating with ansible (Part B)
Automating with ansible (Part B)
 

Recently uploaded

AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 

Recently uploaded (20)

AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 

Vagrant 의 활용

  • 1. Vagrant 의 활용 전인환 (treetory@gmail.com)
  • 2. Vagrant 란? ● What is vagrant?
  • 3. Usefulness of Vagrant ➔ For Developers Say goodbye to "works on my machine" bugs. ➔ For Operators stop juggling SSH prompts to various machines, and start using Vagrant to bring sanity to your life. ➔ For Designers No more bothering other developers to help you fix your environment so you can test designs.
  • 5. Vagrant 설치 ● Hypervisor (provider) 를 선택 ● Vagrant downloads page 에서 Vagrant 다운 ● 그리고 설치
  • 6. Hypervisor 간의 충돌 ➔ VirtualBox VS. KVM echo ‘blacklist kvm-intel’ >> /etc/modprobe.d/blacklist.conf ➔ VirtualBox VS. Hyper-V Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All ➔ Create the VM using 64-bit OS enable the VT-D option in BIOS
  • 7. Single Workflow - VagrantFile ● vagrant init
  • 8. config.vm #1 : box ● What is Box? ● HashiCorp’s Vagrant Cloud box catalog ● config.vm.box (string) ● config.vm.box_check_update (boolean) ● config.vm.box_download_checksum (string) ● config.vm.box_download_checksum_type (string) ● config.vm.box_download_client_cert (string) config.vm.box_download_ca_cert (string) config.vm.box_download_ca_path (string) ● config.vm.box_download_insecure (boolean) ● config.vm.box_url (string, array of strings) ● config.vm.box_version (string)
  • 9. config.vm #2 : provider ● What is Provider? ● supported : VirtualBox, Hyper-V, VMware, Docker and Custom Provider config.vm.provider "virtualbox" do |v| v.gui = true v.name = "my_vm" v.default_nic_type = "82543GC" v.linked_clone = true if Gem::Version.new(Vagrant::VERSION) >= Gem::Version.new('1.8.0') v.customize ["modifyvm", :id, "--cpuexecutioncap", "50"] v.memory = 1024 v.cpus = 2 end
  • 10. config.vm #3 : network ● Private or Public ● NAT or Bridge or Host-only Vagrant.configure("2") do |config| config.vm.network "private_network", type: "”, ip: "”, netmask: "”, auto_config: "”, virtualbox__intnet: "”, nic_type: "” end Vagrant.configure("2") do |config| config.vm.network "public_network", ip: "”, netmask: "”, auto_config: "”, use_dhcp_assigned_default_route: "”, bridge: "”, nic_type: "” end
  • 11. config.vm #4 : synced_folder ● Very convenient function ● Share between Host Machine and Guest Machine Vagrant.configure("2") do |config| config.vm.synced_folder “/home”, “/dev” end → Guest Machine /vagrant
  • 12. config.vm #5 : provision ● When is occured the provisioning? ● execute shell script, ansible, chef, puppet, salt and docker ● Once or Always or Never Vagrant.configure("2") do |config| config.vm.provision "shell", inline: "echo hello”, run: "always” end Vagrant.configure("2") do |config| config.vm.provision "bootstrap", type: "shell”, run: "never” do |s| s.inline = “echo hello” end
  • 13. config.ssh ● ssh configuration ● enough to use as default ● config.ssh.compression (boolean) ● config.ssh.config (string) ● config.ssh.dsa_authentication (boolean) ● config.ssh.export_command_template (string) ● config.ssh.extra_args (array of strings) ● config.ssh.forward_agent (boolean) ● config.ssh.forward_env (array of strings) ● config.ssh.forward_x11 (boolean) ● config.ssh.guest_port (integer) ● config.ssh.host (string) ● config.ssh.insert_key (boolean) ● config.ssh.keep_alive (boolean) ● config.ssh.keys_only (boolean)
  • 14. config.ssh ● ssh configuration ● enough to use as default ● config.ssh.paranoid (boolean) ● config.ssh.password (string) ● config.ssh.port (integer) ● config.ssh.private_key_path (string, array of strings) ● config.ssh.proxy_command (string) ● config.ssh.pty (boolean) ● config.ssh.remote_user (string) ● config.ssh.shell (string) ● config.ssh.sudo_command (string) ● config.ssh.username (string) ● config.ssh.verify_host_key (string, symbol)
  • 15. 이렇게 씁니다. ➔ vagrant init 먼저 VagrantFile 을 생성합니다. ➔ vi VagrantFile 템플릿을 내 상황에 맞게 수정합니다. ➔ vagrant up 그리고 프로비저닝 합니다. ➔ vagrant halt 사용후엔 종료합니다.