SlideShare a Scribd company logo
1 of 21
Download to read offline
Local development with Vagrant 
Andriy Podanenko 
Software Architect, DevOp 
Propeople 
@podarok
Plan 
● What is Vagrant? 
● Provisioning, puppet, ansible 
● Generating configs with puphpet.com 
● How puphpet.com works internally
What is Vagrant 
● Layer on top ov virtual machine providers 
− Virtualbox 
− Vmware 
● Command line tool 
● Text file to control the settings 
● Plenty of boxes available on internet
Vagrant commands 
● vagrant up 
● vagrant ssh 
● vagrant provision 
● vagrant halt 
● vagrant destroy 
● vagrant reload --provision
Vagrant up workflow 
-> vagrant up 
● Obtaining vagrant box (vm image) - once 
● Starting virtualbox (vm provider) 
● Starting provisioners stack - first time and with 
--provision or when -> vagrant provision 
-> vm box up and running 
-> vagrant ssh
Vagrant configuration 
● Ruby syntax 
● Box, ram, cpu 
Vagrant.configure("2") do |config| 
config.vm.box = 'ubuntu-1404' 
config.vm.box_url = 'http://.../ubuntu-1404-x64.box' 
config.vm.provider :virtualbox do |vb| 
vb.customize ["modifyvm", :id, "--memory", "2048"] 
vb.customize ["modifyvm", :id, "--cpus", "2"] 
end 
end
Vagrant boxes 
● https://vagrantcloud.com 
● http://www.vagrantbox.es
Vagrant configuration 
● Network 
Vagrant.configure("2") do |config| 
config.vm.network "private_network", ip: "192.168.50.4" 
end 
● Sync folders 
Vagrant.configure("2") do |config| 
config.vm.synced_folder "project/", "/var/www/project" 
end 
● Nfs is faster than native. Try latest vagrant with rsync
Vagrant provisioning 
● Shell 
● Puppet (model driven) 
● Chef (procedural) 
● Ansible 
● Salt 
● Docker 
● ...
Combining provisioners 
# Shell provision 
config.vm.provision "shell" do |s| 
s.path = "puphpet/shell/initial-setup.sh" 
s.args = "/vagrant/puphpet" 
end 
# Ansible provision 
config.vm.provision "ansible" do |ansible| 
ansible.playbook = "playbook.yml" 
end 
# Puppet provision 
config.vm.provision :puppet do |puppet| 
ssh_username = !data['ssh']['username'].nil? ? data['ssh']['username'] : "vagrant" 
puppet.facter = { 
"ssh_username" => "#{ssh_username}", 
"provisioner_type" => ENV['VAGRANT_DEFAULT_PROVIDER'], 
} 
puppet.manifests_path = "#{data['vm']['provision']['puppet']['manifests_path']}" 
puppet.manifest_file = "#{data['vm']['provision']['puppet']['manifest_file']}" 
end
puppet -> manifest.pp
- hosts: demovmbox ansible -> playbook.yml 
connection: local 
gather_facts: no 
vars: 
drupal_user: drupalcamplviv 
drupal_pass: ilovelviv 
installation_profile_name: presentation 
mysql_user: drupal 
mysql_pass: drupal 
mysql_db: drupal 
tasks: 
- name: Droping drupal database 
mysql_db: name={{ mysql_db }} state=absent 
- name: Creating drupal database 
mysql_db: name={{ mysql_db }} state=present 
- name: Installing drupal 
sudo: yes 
shell: "drush -y si {{ installation_profile_name }} --db-url=mysql://{{ 
mysql_user }}:{{ mysql_pass }}@127.0.0.1:/{{ mysql_db }} --account-name={{ 
drupal_user }} --account-pass={{ drupal_pass }}"
PuPHPet.com 
Demo
vagrant up demo 
Demo
PuPHPet.com
PuPHPet.com 
● All configs in puphpet/config.yaml 
● Uses puppet librarian (Puppetfile)
Extending configs 
● Use another puppet module 
− Add it to the Puppetfile 
− Modify manifest.pp 
● Add another provisioner 
− Add it to Vagrantfile 
− insert provisioner’s needed files to vagrant tree
Contributing to puphpet.com 
● Symfony app 
● Each config element is a separate bundle that 
provides UI and manifest.pp part 
● Remember about all OS (debian + centos)
PS. Drupal related tree/workflow
Usefull links 
● http://puphpet.drupal.ua/ 
● http://puphpet.com 
●● 
http://www.puppetcookbook.com/ 
● https://docs.vagrantup.com/v2/provisioning 
● http://docs.ansible.com/playbooks.html 
●● 
https://github.com/podarok/ansible-vagrant-examples 
●● 
https://www.drupal.org/project/vdd
Local development with Vagrant 
Questions? 
Andriy Podanenko 
Software Architect 
Propeople 
@podarok

More Related Content

What's hot

Rapid dev env DevOps Warsaw July 2014
Rapid dev env DevOps Warsaw July 2014Rapid dev env DevOps Warsaw July 2014
Rapid dev env DevOps Warsaw July 2014
blndrt
 
Stack kicker devopsdays-london-2013
Stack kicker devopsdays-london-2013Stack kicker devopsdays-london-2013
Stack kicker devopsdays-london-2013
Simon McCartney
 

What's hot (19)

Configuration Management in Ansible
Configuration Management in Ansible Configuration Management in Ansible
Configuration Management in Ansible
 
Best practices for ansible
Best practices for ansibleBest practices for ansible
Best practices for ansible
 
Automation and Ansible
Automation and AnsibleAutomation and Ansible
Automation and Ansible
 
Ansible loves Python, Python Philadelphia meetup
Ansible loves Python, Python Philadelphia meetupAnsible loves Python, Python Philadelphia meetup
Ansible loves Python, Python Philadelphia meetup
 
Ansible leveraging 2.0
Ansible leveraging 2.0Ansible leveraging 2.0
Ansible leveraging 2.0
 
Hacking ansible
Hacking ansibleHacking ansible
Hacking ansible
 
Vagrant for real
Vagrant for realVagrant for real
Vagrant for real
 
Ubic
UbicUbic
Ubic
 
Ansible presentation
Ansible presentationAnsible presentation
Ansible presentation
 
V2 and beyond
V2 and beyondV2 and beyond
V2 and beyond
 
Ansible 101, Gennadiy Mykhailiuta
Ansible 101, Gennadiy MykhailiutaAnsible 101, Gennadiy Mykhailiuta
Ansible 101, Gennadiy Mykhailiuta
 
More tips n tricks
More tips n tricksMore tips n tricks
More tips n tricks
 
EC2
EC2EC2
EC2
 
Ansible for beginners ...?
Ansible for beginners ...?Ansible for beginners ...?
Ansible for beginners ...?
 
Rapid dev env DevOps Warsaw July 2014
Rapid dev env DevOps Warsaw July 2014Rapid dev env DevOps Warsaw July 2014
Rapid dev env DevOps Warsaw July 2014
 
Drupal cambs ansible for drupal april 2015
Drupal cambs ansible for drupal april 2015Drupal cambs ansible for drupal april 2015
Drupal cambs ansible for drupal april 2015
 
Dev ninja -> vagrant + virtualbox + chef-solo + git + ec2
Dev ninja  -> vagrant + virtualbox + chef-solo + git + ec2Dev ninja  -> vagrant + virtualbox + chef-solo + git + ec2
Dev ninja -> vagrant + virtualbox + chef-solo + git + ec2
 
Stack kicker devopsdays-london-2013
Stack kicker devopsdays-london-2013Stack kicker devopsdays-london-2013
Stack kicker devopsdays-london-2013
 
Introduction to Ansible - (dev ops for people who hate devops)
Introduction to Ansible - (dev ops for people who hate devops)Introduction to Ansible - (dev ops for people who hate devops)
Introduction to Ansible - (dev ops for people who hate devops)
 

Viewers also liked

Алексей Горобец - Building Drupal Distributions. Why? When? and How?
Алексей Горобец - Building Drupal Distributions. Why? When? and How?Алексей Горобец - Building Drupal Distributions. Why? When? and How?
Алексей Горобец - Building Drupal Distributions. Why? When? and How?
LEDC 2016
 
Чеботарь Кирилл - Panels - пособие для начинающих
Чеботарь Кирилл - Panels - пособие для начинающихЧеботарь Кирилл - Panels - пособие для начинающих
Чеботарь Кирилл - Panels - пособие для начинающих
LEDC 2016
 
Алексей Колосов - Типичные ошибки разработчиков на Drupal (версии 5,6,7)
Алексей Колосов - Типичные ошибки разработчиков на Drupal (версии 5,6,7)Алексей Колосов - Типичные ошибки разработчиков на Drupal (версии 5,6,7)
Алексей Колосов - Типичные ошибки разработчиков на Drupal (версии 5,6,7)
LEDC 2016
 
Караиванов Георгий - Drupal в проектах Электронного правительства
Караиванов Георгий - Drupal в проектах Электронного правительстваКараиванов Георгий - Drupal в проектах Электронного правительства
Караиванов Георгий - Drupal в проектах Электронного правительства
LEDC 2016
 
Александр Шуменко - Varnish for authenticated users
Александр Шуменко - Varnish for authenticated usersАлександр Шуменко - Varnish for authenticated users
Александр Шуменко - Varnish for authenticated users
LEDC 2016
 
Александр Бондаренко - CommerceBox - Почему мы решили перевести нашу сборку н...
Александр Бондаренко - CommerceBox - Почему мы решили перевести нашу сборку н...Александр Бондаренко - CommerceBox - Почему мы решили перевести нашу сборку н...
Александр Бондаренко - CommerceBox - Почему мы решили перевести нашу сборку н...
LEDC 2016
 
Виктор Левандовский - Why Drupal? Как продавать Родину с напильником.
Виктор Левандовский - Why Drupal? Как продавать Родину с напильником.Виктор Левандовский - Why Drupal? Как продавать Родину с напильником.
Виктор Левандовский - Why Drupal? Как продавать Родину с напильником.
LEDC 2016
 
Иван Фесюк - ApacheSolr+DrupalCommerce связка для высоко нагруженых проектов
Иван Фесюк -  ApacheSolr+DrupalCommerce связка для высоко нагруженых проектовИван Фесюк -  ApacheSolr+DrupalCommerce связка для высоко нагруженых проектов
Иван Фесюк - ApacheSolr+DrupalCommerce связка для высоко нагруженых проектов
LEDC 2016
 
Артем Сыльчук - Хранение полей в Drupal. От CCK к FieldableEntityStorageContr...
Артем Сыльчук - Хранение полей в Drupal. От CCK к FieldableEntityStorageContr...Артем Сыльчук - Хранение полей в Drupal. От CCK к FieldableEntityStorageContr...
Артем Сыльчук - Хранение полей в Drupal. От CCK к FieldableEntityStorageContr...
LEDC 2016
 
Анатолий Поляков - Drupal.ajax framework from a to z
Анатолий Поляков - Drupal.ajax framework from a to zАнатолий Поляков - Drupal.ajax framework from a to z
Анатолий Поляков - Drupal.ajax framework from a to z
LEDC 2016
 
Евгений Гарбузов - E-commerce. Создание интернет-магазина на базе Drupal Comm...
Евгений Гарбузов - E-commerce. Создание интернет-магазина на базе Drupal Comm...Евгений Гарбузов - E-commerce. Создание интернет-магазина на базе Drupal Comm...
Евгений Гарбузов - E-commerce. Создание интернет-магазина на базе Drupal Comm...
LEDC 2016
 
Тарас Цюпер - Мультиязычность в Drupal 8
Тарас Цюпер - Мультиязычность в Drupal 8Тарас Цюпер - Мультиязычность в Drupal 8
Тарас Цюпер - Мультиязычность в Drupal 8
LEDC 2016
 
Березовский Андрей - Social Authentication
Березовский Андрей - Social AuthenticationБерезовский Андрей - Social Authentication
Березовский Андрей - Social Authentication
LEDC 2016
 
Максим Ринг - Тестирование миграции и импорта
Максим Ринг - Тестирование миграции и импортаМаксим Ринг - Тестирование миграции и импорта
Максим Ринг - Тестирование миграции и импорта
LEDC 2016
 

Viewers also liked (18)

Александр Даниленко - Panels как философия
Александр Даниленко - Panels как философияАлександр Даниленко - Panels как философия
Александр Даниленко - Panels как философия
 
Алексей Горобец - Building Drupal Distributions. Why? When? and How?
Алексей Горобец - Building Drupal Distributions. Why? When? and How?Алексей Горобец - Building Drupal Distributions. Why? When? and How?
Алексей Горобец - Building Drupal Distributions. Why? When? and How?
 
Тарас Круц - Tips On Getting Everything You Can Out of Drupal Form API
Тарас Круц - Tips On Getting Everything You Can Out of Drupal Form APIТарас Круц - Tips On Getting Everything You Can Out of Drupal Form API
Тарас Круц - Tips On Getting Everything You Can Out of Drupal Form API
 
Чеботарь Кирилл - Panels - пособие для начинающих
Чеботарь Кирилл - Panels - пособие для начинающихЧеботарь Кирилл - Panels - пособие для начинающих
Чеботарь Кирилл - Panels - пособие для начинающих
 
Алексей Колосов - Типичные ошибки разработчиков на Drupal (версии 5,6,7)
Алексей Колосов - Типичные ошибки разработчиков на Drupal (версии 5,6,7)Алексей Колосов - Типичные ошибки разработчиков на Drupal (версии 5,6,7)
Алексей Колосов - Типичные ошибки разработчиков на Drupal (версии 5,6,7)
 
Караиванов Георгий - Drupal в проектах Электронного правительства
Караиванов Георгий - Drupal в проектах Электронного правительстваКараиванов Георгий - Drupal в проектах Электронного правительства
Караиванов Георгий - Drupal в проектах Электронного правительства
 
Александр Шуменко - Varnish for authenticated users
Александр Шуменко - Varnish for authenticated usersАлександр Шуменко - Varnish for authenticated users
Александр Шуменко - Varnish for authenticated users
 
Александр Бондаренко - CommerceBox - Почему мы решили перевести нашу сборку н...
Александр Бондаренко - CommerceBox - Почему мы решили перевести нашу сборку н...Александр Бондаренко - CommerceBox - Почему мы решили перевести нашу сборку н...
Александр Бондаренко - CommerceBox - Почему мы решили перевести нашу сборку н...
 
Денис Головняк - Продвинутый поиск с помощью Search API
Денис Головняк - Продвинутый поиск с помощью Search APIДенис Головняк - Продвинутый поиск с помощью Search API
Денис Головняк - Продвинутый поиск с помощью Search API
 
Виктор Левандовский - Why Drupal? Как продавать Родину с напильником.
Виктор Левандовский - Why Drupal? Как продавать Родину с напильником.Виктор Левандовский - Why Drupal? Как продавать Родину с напильником.
Виктор Левандовский - Why Drupal? Как продавать Родину с напильником.
 
Иван Фесюк - ApacheSolr+DrupalCommerce связка для высоко нагруженых проектов
Иван Фесюк -  ApacheSolr+DrupalCommerce связка для высоко нагруженых проектовИван Фесюк -  ApacheSolr+DrupalCommerce связка для высоко нагруженых проектов
Иван Фесюк - ApacheSolr+DrupalCommerce связка для высоко нагруженых проектов
 
Артем Сыльчук - Хранение полей в Drupal. От CCK к FieldableEntityStorageContr...
Артем Сыльчук - Хранение полей в Drupal. От CCK к FieldableEntityStorageContr...Артем Сыльчук - Хранение полей в Drupal. От CCK к FieldableEntityStorageContr...
Артем Сыльчук - Хранение полей в Drupal. От CCK к FieldableEntityStorageContr...
 
Анатолий Поляков - Drupal.ajax framework from a to z
Анатолий Поляков - Drupal.ajax framework from a to zАнатолий Поляков - Drupal.ajax framework from a to z
Анатолий Поляков - Drupal.ajax framework from a to z
 
Евгений Гарбузов - E-commerce. Создание интернет-магазина на базе Drupal Comm...
Евгений Гарбузов - E-commerce. Создание интернет-магазина на базе Drupal Comm...Евгений Гарбузов - E-commerce. Создание интернет-магазина на базе Drupal Comm...
Евгений Гарбузов - E-commerce. Создание интернет-магазина на базе Drupal Comm...
 
Тарас Цюпер - Мультиязычность в Drupal 8
Тарас Цюпер - Мультиязычность в Drupal 8Тарас Цюпер - Мультиязычность в Drupal 8
Тарас Цюпер - Мультиязычность в Drupal 8
 
Березовский Андрей - Social Authentication
Березовский Андрей - Social AuthenticationБерезовский Андрей - Social Authentication
Березовский Андрей - Social Authentication
 
Сергей Мирошниченко - SEO-friendly data migration
Сергей Мирошниченко - SEO-friendly data migrationСергей Мирошниченко - SEO-friendly data migration
Сергей Мирошниченко - SEO-friendly data migration
 
Максим Ринг - Тестирование миграции и импорта
Максим Ринг - Тестирование миграции и импортаМаксим Ринг - Тестирование миграции и импорта
Максим Ринг - Тестирование миграции и импорта
 

Similar to Андрей Поданенко - Start using Vagrant now!

Environments line-up! Vagrant & Puppet 101
Environments line-up! Vagrant & Puppet 101Environments line-up! Vagrant & Puppet 101
Environments line-up! Vagrant & Puppet 101
jelrikvh
 
Puppet for Java developers - JavaZone NO 2012
Puppet for Java developers - JavaZone NO 2012Puppet for Java developers - JavaZone NO 2012
Puppet for Java developers - JavaZone NO 2012
Carlos Sanchez
 
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Carlos Sanchez
 
Getting started with puppet and vagrant (1)
Getting started with puppet and vagrant (1)Getting started with puppet and vagrant (1)
Getting started with puppet and vagrant (1)
Puppet
 

Similar to Андрей Поданенко - Start using Vagrant now! (20)

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
 
Puppet and the HashiCorp Suite
Puppet and the HashiCorp SuitePuppet and the HashiCorp Suite
Puppet and the HashiCorp Suite
 
Environments line-up! Vagrant & Puppet 101
Environments line-up! Vagrant & Puppet 101Environments line-up! Vagrant & Puppet 101
Environments line-up! Vagrant & Puppet 101
 
Vagrant introduction for Developers
Vagrant introduction for DevelopersVagrant introduction for Developers
Vagrant introduction for Developers
 
Taking the Friction Out of Ticket Investigation (Standardized Debugging Envir...
Taking the Friction Out of Ticket Investigation (Standardized Debugging Envir...Taking the Friction Out of Ticket Investigation (Standardized Debugging Envir...
Taking the Friction Out of Ticket Investigation (Standardized Debugging Envir...
 
Quick & Easy Dev Environments with Vagrant
Quick & Easy Dev Environments with VagrantQuick & Easy Dev Environments with Vagrant
Quick & Easy Dev Environments with Vagrant
 
Automated reproducible images on openstack using vagrant and packer
Automated reproducible images on openstack using vagrant and packerAutomated reproducible images on openstack using vagrant and packer
Automated reproducible images on openstack using vagrant and packer
 
Puppet for Java developers - JavaZone NO 2012
Puppet for Java developers - JavaZone NO 2012Puppet for Java developers - JavaZone NO 2012
Puppet for Java developers - JavaZone NO 2012
 
Minicurso de Vagrant
Minicurso de VagrantMinicurso de Vagrant
Minicurso de Vagrant
 
Puppet and the HashiStack
Puppet and the HashiStackPuppet and the HashiStack
Puppet and the HashiStack
 
Vagrant for real
Vagrant for realVagrant for real
Vagrant for real
 
Vagrant for real (codemotion rome 2016)
Vagrant for real (codemotion rome 2016)Vagrant for real (codemotion rome 2016)
Vagrant for real (codemotion rome 2016)
 
Intro to vagrant
Intro to vagrantIntro to vagrant
Intro to vagrant
 
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
 
Create your very own Development Environment with Vagrant and Packer
Create your very own Development Environment with Vagrant and PackerCreate your very own Development Environment with Vagrant and Packer
Create your very own Development Environment with Vagrant and Packer
 
vagrant-php
vagrant-phpvagrant-php
vagrant-php
 
How I hack on puppet modules
How I hack on puppet modulesHow I hack on puppet modules
How I hack on puppet modules
 
Getting started with puppet and vagrant (1)
Getting started with puppet and vagrant (1)Getting started with puppet and vagrant (1)
Getting started with puppet and vagrant (1)
 
Tech Talk - Vagrant
Tech Talk - VagrantTech Talk - Vagrant
Tech Talk - Vagrant
 
Puppet @ Seat
Puppet @ SeatPuppet @ Seat
Puppet @ Seat
 

More from LEDC 2016

Анатолій Поляков — Subdomains everywhere
Анатолій Поляков — Subdomains everywhereАнатолій Поляков — Subdomains everywhere
Анатолій Поляков — Subdomains everywhere
LEDC 2016
 

More from LEDC 2016 (20)

A. Postnikov & P. Mahrinsky — Drupal Community — це ми
A. Postnikov & P. Mahrinsky — Drupal Community — це миA. Postnikov & P. Mahrinsky — Drupal Community — це ми
A. Postnikov & P. Mahrinsky — Drupal Community — це ми
 
Слава Мережко — Практикум: "Як ростити розробників"
Слава Мережко — Практикум: "Як ростити розробників"Слава Мережко — Практикум: "Як ростити розробників"
Слава Мережко — Практикум: "Як ростити розробників"
 
Генадій Колтун — Комунізм наступає: що будемо робити, коли машини навчаться п...
Генадій Колтун — Комунізм наступає: що будемо робити, коли машини навчаться п...Генадій Колтун — Комунізм наступає: що будемо робити, коли машини навчаться п...
Генадій Колтун — Комунізм наступає: що будемо робити, коли машини навчаться п...
 
Олексій Калініченко — Configuration Management in Drupal8
Олексій Калініченко — Configuration Management in Drupal8Олексій Калініченко — Configuration Management in Drupal8
Олексій Калініченко — Configuration Management in Drupal8
 
Олександр Лінивий — Multisite platform with continuous delivery process for m...
Олександр Лінивий — Multisite platform with continuous delivery process for m...Олександр Лінивий — Multisite platform with continuous delivery process for m...
Олександр Лінивий — Multisite platform with continuous delivery process for m...
 
Андрій Юн — Воркшоп "Docker use cases for developers"
Андрій Юн — Воркшоп "Docker use cases for developers"Андрій Юн — Воркшоп "Docker use cases for developers"
Андрій Юн — Воркшоп "Docker use cases for developers"
 
Андрій Поданенко — Воркшоп "Розвертання CIBox"
Андрій Поданенко — Воркшоп "Розвертання CIBox"Андрій Поданенко — Воркшоп "Розвертання CIBox"
Андрій Поданенко — Воркшоп "Розвертання CIBox"
 
Юрій Герасімов — Editorial experience in Drupal8
Юрій Герасімов — Editorial experience in Drupal8Юрій Герасімов — Editorial experience in Drupal8
Юрій Герасімов — Editorial experience in Drupal8
 
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...
 
Тарас Кирилюк — Docker basics. How-to for Drupal developers
Тарас Кирилюк — Docker basics. How-to for Drupal developersТарас Кирилюк — Docker basics. How-to for Drupal developers
Тарас Кирилюк — Docker basics. How-to for Drupal developers
 
Тарас Круц — Open Social: brand new Drupal 8 distro for building social netwo...
Тарас Круц — Open Social: brand new Drupal 8 distro for building social netwo...Тарас Круц — Open Social: brand new Drupal 8 distro for building social netwo...
Тарас Круц — Open Social: brand new Drupal 8 distro for building social netwo...
 
Ігор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developerІгор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developer
 
Олександр Щедров — Build your application in seconds and optimize workflow as...
Олександр Щедров — Build your application in seconds and optimize workflow as...Олександр Щедров — Build your application in seconds and optimize workflow as...
Олександр Щедров — Build your application in seconds and optimize workflow as...
 
Анатолій Поляков — Subdomains everywhere
Анатолій Поляков — Subdomains everywhereАнатолій Поляков — Subdomains everywhere
Анатолій Поляков — Subdomains everywhere
 
Артем Доценко — Deploy Plus. Better UI and more control for deploy module
Артем Доценко — Deploy Plus. Better UI and more control for deploy moduleАртем Доценко — Deploy Plus. Better UI and more control for deploy module
Артем Доценко — Deploy Plus. Better UI and more control for deploy module
 
Сергій Бондаренко — Тестування Drupal сайтiв з допогою TqExtension
Сергій Бондаренко — Тестування Drupal сайтiв з допогою TqExtensionСергій Бондаренко — Тестування Drupal сайтiв з допогою TqExtension
Сергій Бондаренко — Тестування Drupal сайтiв з допогою TqExtension
 
Вадим Абрамчук — Big Drupal: Issues We Met
Вадим Абрамчук — Big Drupal: Issues We MetВадим Абрамчук — Big Drupal: Issues We Met
Вадим Абрамчук — Big Drupal: Issues We Met
 
Юрій Герасимов — Delayed operations with queues
Юрій Герасимов — Delayed operations with queuesЮрій Герасимов — Delayed operations with queues
Юрій Герасимов — Delayed operations with queues
 
Віталій Бобров — Web components, Polymer and Drupal
Віталій Бобров — Web components, Polymer and DrupalВіталій Бобров — Web components, Polymer and Drupal
Віталій Бобров — Web components, Polymer and Drupal
 
Олександр Щедров та Альбіна Тюпа — Magic button. Can production releases be s...
Олександр Щедров та Альбіна Тюпа — Magic button. Can production releases be s...Олександр Щедров та Альбіна Тюпа — Magic button. Can production releases be s...
Олександр Щедров та Альбіна Тюпа — Magic button. Can production releases be s...
 

Recently uploaded

VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
@Chandigarh #call #Girls 9053900678 @Call #Girls in @Punjab 9053900678
 
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
nirzagarg
 
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Chandigarh Call girls 9053900678 Call girls in Chandigarh
 
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
nilamkumrai
 

Recently uploaded (20)

Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
 
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
 
Real Escorts in Al Nahda +971524965298 Dubai Escorts Service
Real Escorts in Al Nahda +971524965298 Dubai Escorts ServiceReal Escorts in Al Nahda +971524965298 Dubai Escorts Service
Real Escorts in Al Nahda +971524965298 Dubai Escorts Service
 
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
 
Al Barsha Night Partner +0567686026 Call Girls Dubai
Al Barsha Night Partner +0567686026 Call Girls  DubaiAl Barsha Night Partner +0567686026 Call Girls  Dubai
Al Barsha Night Partner +0567686026 Call Girls Dubai
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
 
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
 

Андрей Поданенко - Start using Vagrant now!

  • 1. Local development with Vagrant Andriy Podanenko Software Architect, DevOp Propeople @podarok
  • 2. Plan ● What is Vagrant? ● Provisioning, puppet, ansible ● Generating configs with puphpet.com ● How puphpet.com works internally
  • 3. What is Vagrant ● Layer on top ov virtual machine providers − Virtualbox − Vmware ● Command line tool ● Text file to control the settings ● Plenty of boxes available on internet
  • 4. Vagrant commands ● vagrant up ● vagrant ssh ● vagrant provision ● vagrant halt ● vagrant destroy ● vagrant reload --provision
  • 5. Vagrant up workflow -> vagrant up ● Obtaining vagrant box (vm image) - once ● Starting virtualbox (vm provider) ● Starting provisioners stack - first time and with --provision or when -> vagrant provision -> vm box up and running -> vagrant ssh
  • 6. Vagrant configuration ● Ruby syntax ● Box, ram, cpu Vagrant.configure("2") do |config| config.vm.box = 'ubuntu-1404' config.vm.box_url = 'http://.../ubuntu-1404-x64.box' config.vm.provider :virtualbox do |vb| vb.customize ["modifyvm", :id, "--memory", "2048"] vb.customize ["modifyvm", :id, "--cpus", "2"] end end
  • 7. Vagrant boxes ● https://vagrantcloud.com ● http://www.vagrantbox.es
  • 8. Vagrant configuration ● Network Vagrant.configure("2") do |config| config.vm.network "private_network", ip: "192.168.50.4" end ● Sync folders Vagrant.configure("2") do |config| config.vm.synced_folder "project/", "/var/www/project" end ● Nfs is faster than native. Try latest vagrant with rsync
  • 9. Vagrant provisioning ● Shell ● Puppet (model driven) ● Chef (procedural) ● Ansible ● Salt ● Docker ● ...
  • 10. Combining provisioners # Shell provision config.vm.provision "shell" do |s| s.path = "puphpet/shell/initial-setup.sh" s.args = "/vagrant/puphpet" end # Ansible provision config.vm.provision "ansible" do |ansible| ansible.playbook = "playbook.yml" end # Puppet provision config.vm.provision :puppet do |puppet| ssh_username = !data['ssh']['username'].nil? ? data['ssh']['username'] : "vagrant" puppet.facter = { "ssh_username" => "#{ssh_username}", "provisioner_type" => ENV['VAGRANT_DEFAULT_PROVIDER'], } puppet.manifests_path = "#{data['vm']['provision']['puppet']['manifests_path']}" puppet.manifest_file = "#{data['vm']['provision']['puppet']['manifest_file']}" end
  • 12. - hosts: demovmbox ansible -> playbook.yml connection: local gather_facts: no vars: drupal_user: drupalcamplviv drupal_pass: ilovelviv installation_profile_name: presentation mysql_user: drupal mysql_pass: drupal mysql_db: drupal tasks: - name: Droping drupal database mysql_db: name={{ mysql_db }} state=absent - name: Creating drupal database mysql_db: name={{ mysql_db }} state=present - name: Installing drupal sudo: yes shell: "drush -y si {{ installation_profile_name }} --db-url=mysql://{{ mysql_user }}:{{ mysql_pass }}@127.0.0.1:/{{ mysql_db }} --account-name={{ drupal_user }} --account-pass={{ drupal_pass }}"
  • 16. PuPHPet.com ● All configs in puphpet/config.yaml ● Uses puppet librarian (Puppetfile)
  • 17. Extending configs ● Use another puppet module − Add it to the Puppetfile − Modify manifest.pp ● Add another provisioner − Add it to Vagrantfile − insert provisioner’s needed files to vagrant tree
  • 18. Contributing to puphpet.com ● Symfony app ● Each config element is a separate bundle that provides UI and manifest.pp part ● Remember about all OS (debian + centos)
  • 19. PS. Drupal related tree/workflow
  • 20. Usefull links ● http://puphpet.drupal.ua/ ● http://puphpet.com ●● http://www.puppetcookbook.com/ ● https://docs.vagrantup.com/v2/provisioning ● http://docs.ansible.com/playbooks.html ●● https://github.com/podarok/ansible-vagrant-examples ●● https://www.drupal.org/project/vdd
  • 21. Local development with Vagrant Questions? Andriy Podanenko Software Architect Propeople @podarok