-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvagrant-virtualbox-puppet-and-how-to-make-it-together.html
171 lines (115 loc) · 7.81 KB
/
vagrant-virtualbox-puppet-and-how-to-make-it-together.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
<!DOCTYPE html>
<html lang="en">
<head>
<title>Vagrant, VirtualBox, Puppet and how to make it together</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="./theme/css/main.css" type="text/css" />
<link href="http://www.piotrdeszynski.com/feeds/all.atom.xml" type="application/atom+xml" rel="alternate" title="Yet another boring programmer's blog Atom Feed" />
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<!--[if lte IE 7]>
<link rel="stylesheet" type="text/css" media="all" href="./css/ie.css"/>
<script src="./js/IE8.js" type="text/javascript"></script><![endif]-->
<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" media="all" href="./css/ie6.css"/><![endif]-->
</head>
<body id="index" class="home">
<a href="https://github.com/piteer1">
<img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png" alt="Fork me on GitHub" />
</a>
<header id="banner" class="body">
<h1><a href=".">Yet another boring programmer's blog </a></h1>
<nav><ul>
<li ><a href="./category/oop.html">OOP</a></li>
<li ><a href="./category/misc.html">Misc</a></li>
<li ><a href="./category/about.html">About</a></li>
<li class="active"><a href="./category/11.html">11</a></li>
</ul></nav>
</header><!-- /#banner -->
<section id="content" class="body">
<article>
<header>
<h1 class="entry-title">
<a href="vagrant-virtualbox-puppet-and-how-to-make-it-together.html" rel="bookmark"
title="Permalink to Vagrant, VirtualBox, Puppet and how to make it together">Vagrant, VirtualBox, Puppet and how to make it together</a></h1>
</header>
<div class="entry-content">
<footer class="post-info">
<abbr class="published" title="2012-11-10T20:00:00">
sob 10 listopada 2012
</abbr>
<address class="vcard author">
By <a class="url fn" href="./author/piotr-deszynski.html">Piotr Deszyński</a>
</address>
<p>In <a href="./category/11.html">11</a>. </p>
<p>tags: <a href="./tag/vagrant.html">Vagrant</a><a href="./tag/virtualbox.html">VirtualBox</a><a href="./tag/puppet.html">Puppet</a><a href="./tag/development.html">Development</a></p>
</footer><!-- /.post-info -->
<p>How many times in your career you heard from other programmers in your team: <em>"For me it works"</em> while developing some functionality. It happen to me really often. Why does it happen? 99% of the cases it's the difference between environments on which app was run. By myself, I install huge amount of libs on my system not relevant to current project and I forget about them really often having a mess in my personal system. I think, lots of people does the same.</p>
<p>Coming back to the previously stated problem, how to solve it? One of the possible approaches might be using <strong>Continous Integration</strong> for that, by creating for e.g. unstable, unreviewed branch and setuping CI to make builds based on it. Even if this will work then still it's not optimal solution, because it forces you to push unstable code to repository. Additionally you have to schedule new build and wait for the results.</p>
<p>Much better approach would be having during the development a way to ensure that everybody have the same environment adn as close as it's possible similar to production one. Answer for all and even more might be <a href="http://vagrantup.com" title="Vagrant home page"><strong>Vagrant!</strong></a>.</p>
<p><strong>Vagrant</strong> uses <strong>VirtualBox</strong> to build for you a virtual machine ready for work. The main advantage of it is it's simplicity to run it. As manual says to start a VM it's enough</p>
<div class="codehilite"><pre>vagrant box add lucid32 http://files.vagrantup.com/lucid32.box
vagrant init lucid32
vagrant up
</pre></div>
<p>This will download you a box (it's something like base image of a system) and add it to system, initialize it in current directory and run VirtualBox. It's really simple!</p>
</div><!-- /.entry-content -->
<div class="comments">
<h2>Comments !</h2>
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_identifier = "vagrant-virtualbox-puppet-and-how-to-make-it-together.html";
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://yetanotherboringprogrammersblog.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
</div>
</article>
</section>
<section id="extras" class="body">
<div class="blogroll">
<h2>blogroll</h2>
<ul>
<li><a href="http://docs.notmyidea.org/alexis/pelican/">Pelican</a></li>
<li><a href="http://python.org">Python.org</a></li>
<li><a href="http://validator.w3.org/check?uri=http%3A%2F%2Fpiotrdeszynski.com%2F">HTML5 Validator</a></li>
</ul>
</div><!-- /.blogroll -->
<div class="social">
<h2>social</h2>
<ul>
<li><a href="http://www.piotrdeszynski.com/feeds/all.atom.xml" type="application/atom+xml" rel="alternate">atom feed</a></li>
<li><a href="http://github.com/piteer1">github</a></li>
<li><a href="http://www.linkedin.com/pub/piotr-deszy%C5%84ski/14/762/17">linkedin.com</a></li>
</ul>
</div><!-- /.social -->
</section><!-- /#extras -->
<footer id="contentinfo" class="body">
<address id="about" class="vcard body">
Proudly powered by <a href="http://getpelican.com/">Pelican</a>, which takes great advantage of <a href="http://python.org">Python</a>.
</address><!-- /#about -->
<p>The theme is by <a href="http://coding.smashingmagazine.com/2009/08/04/designing-a-html-5-layout-from-scratch/">Smashing Magazine</a>, thanks!</p>
</footer><!-- /#contentinfo -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-35673065-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script type="text/javascript">
var disqus_shortname = 'yetanotherboringprogrammersblog';
(function () {
var s = document.createElement('script'); s.async = true;
s.type = 'text/javascript';
s.src = 'http://' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
}());
</script>
</body>
</html>