Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
packer
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kristopher Ruzic
packer
Commits
4b224d74
Commit
4b224d74
authored
Jun 21, 2013
by
Mitchell Hashimoto
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
website: intro section
parent
7f3941fa
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
242 additions
and
72 deletions
+242
-72
website/source/intro/index.html.markdown
website/source/intro/index.html.markdown
+29
-0
website/source/intro/use-cases.html.markdown
website/source/intro/use-cases.html.markdown
+51
-0
website/source/intro/why.html.markdown
website/source/intro/why.html.markdown
+51
-0
website/source/layouts/docs.erb
website/source/layouts/docs.erb
+58
-70
website/source/layouts/inner.erb
website/source/layouts/inner.erb
+29
-0
website/source/layouts/intro.erb
website/source/layouts/intro.erb
+22
-0
website/source/layouts/layout.erb
website/source/layouts/layout.erb
+2
-2
No files found.
website/source/intro/index.html.markdown
0 → 100644
View file @
4b224d74
---
layout
:
"
intro"
page_title
:
"
Introduction"
prev_url
:
"
#"
next_url
:
"
/intro/why.html"
next_title
:
"
Why
Use
Packer?"
---
# Introduction to Packer
Welcome to the world of Packer! This introduction guide will show you what
packer is, explain why it exists, the benefits it has to offer, and how
you can get started with it. If you're already familiar with Packer, the
[
documentation
](
/docs
)
provides more of a reference for all available features.
## What is Packer?
Packer is a tool for creating identical machine images for multiple platforms
from a single source configuration. Packer is lightweight, runs on every major
operating system, and is highly performant, creating machine images for
multiple platforms in parallel. Packer does not replace configuration management
like Chef or Puppet. In fact, when building images, Packer is able to use tools
like Chef or Puppet to install software onto the image.
A _machine image_ is a single static unit that contains a pre-configured operating
system and installed software which is used to quickly create new running machines.
Machine image formats change for each platform. Some examples include
[
AMIs
](
http://en.wikipedia.org/wiki/Amazon_Machine_Image
)
for EC2,
VMDK/VMX files for VMware, OVF exports for VirtualBox, etc.
website/source/intro/use-cases.html.markdown
0 → 100644
View file @
4b224d74
---
layout
:
"
intro"
page_title
:
"
Use
Cases"
prev_url
:
"
/intro/why.html"
next_url
:
"
/intro/getting-started/setup.html"
next_title
:
"
Getting
Started:
Install
Packer"
---
# Use Cases
By now you should know what Packer does and what the benefits of image
creation are. In this section, we'll enumerate _some_ of the use cases
for Packer. Note that this is not an exhaustive list by any means. There are
definitely use cases for Packer not listed here. This list is just meant
to give you an idea of how Packer may improve your processes.
### Continuous Delivery
Packer is lightweight, portable, and command-line driven. This makes it the
perfect tool to put in the middle of your continuous delivery pipeline. Packer
can be used to generate new machine images for multiple platforms on every
change to Chef/Puppet.
As part of this pipeline, the newly created images can then be launched and
tested, verifying the infrastructure changes work. If the tests pass, you can
be confident that that image will work when deployed. This brings a new level
of stability and testability to infrastructure changes.
### Dev/Prod Parity
Packer helps
[
keep development, staging, and production as similar as possible
](
http://www.12factor.net/dev-prod-parity
)
.
Packer can be used to generate images for multiple platforms at the same time.
So if you use AWS for production and VMware (perhaps with
[
Vagrant
](
http://www.vagrantup.com
)
)
for development, you can generate both an AMI and a VMware machine using
Packer at the same time from the same template.
Mix this in with the continous delivery use case above, and you have a pretty
slick system for consistent work environments from development all the
way through to production.
### Appliance/Demo Creation
Since Packer creates consistent images for multiple platforms in parallel,
it is perfect for creating
[
appliances
](
http://en.wikipedia.org/wiki/Software_appliance
)
and disposable product demos. As your software changes, you can automatically
create applicances with the software pre-installed. Potential users can then
get started with your software by deploying it to the environment of their
choice.
Packaging up software with complex requirements has never been so easy.
Or enjoyable, if you ask me.
website/source/intro/why.html.markdown
0 → 100644
View file @
4b224d74
---
layout
:
"
intro"
page_title
:
"
Why
Use
Packer?"
prev_url
:
"
/intro/index.html"
next_url
:
"
/intro/use-cases.html"
next_title
:
"
Packer
Use
Cases"
---
# Why Use Packer?
Pre-baked machine images have a lot of advantages, but most have been unable
to benefit from them because images have been too tedious to create and manage.
There were ether no existing tools to automate the creation of machine images or
they had too high of a learning curve. The result is that, prior to Packer,
creating machine images threatened the agility of operations teams, and therefore
aren't used, despite the massive benefits.
Packer changes all of this. Packer is easy to use and automates the creation
of any type of machine image. It embraces modern configuration management by
encouraging you to use a framework such as Chef or Puppet to install and
configure the software within your Packer-made images.
In other words: Packer brings pre-baked images into the modern age, unlocking
untapped potential and opening new opportunities.
## Advantages of Using Packer
***Super fast infrastructure deployment**
*
. Packer images allow you to launch
completely provisioned and configured machines in seconds, rather than
several minutes or hours. This benefits not only production, but development as well,
since development virtual machines can also be launched in seconds, without waiting
for a typically much longer provisioning time.
***Multi-provider portability**
*
. Because Packer creates identical images for
multiple platforms, you can run production in AWS, staging/QA in a private
cloud like OpenStack, and development in desktop virtualization solutions
such as VMware or VirtualBox. Each environment is running an identical
machine image, giving ultimate portability.
***Improved stability**
*
. Packer installs and configures all the software for
a machine at the time the image is built. If there are bugs in these scripts,
they'll be caught early, rather than several minutes after a machine is launched.
***Greater testability**
*
. After a machine image is built, that machine image
can be quickly launched and smoke tested to verify that things appear to be
working. If they are, you can be confident that any other machines launched
from that image will function properly.
Packer makes it extremely easy to take advantage of all these benefits.
What are you waiting for? Let's get started!
website/source/layouts/docs.erb
View file @
4b224d74
<%
wrap_layout
:layout
do
%>
<div
class=
"docs-wrapper"
>
<div
class=
"sidebar dark-background hidden-phone"
>
<h2>
Docs
</h2>
<ul>
<li><a
href=
"/docs/index.html"
>
What is Packer?
</a></li>
<li><a
href=
"/docs/installation.html"
>
Installation
</a></li>
<li><a
href=
"/docs/basics/terminology.html"
>
Terminology
</a></li>
</ul>
<ul>
<li><h4>
Command-Line
</h4></li>
<li><a
href=
"/docs/command-line/introduction.html"
>
Introduction
</a></li>
<li><a
href=
"/docs/command-line/build.html"
>
Build
</a></li>
<li><a
href=
"/docs/command-line/validate.html"
>
Validate
</a></li>
</ul>
<ul>
<li><h4>
Templates
</h4></li>
<li><a
href=
"/docs/templates/introduction.html"
>
Introduction
</a></li>
<li><a
href=
"/docs/templates/builders.html"
>
Builders
</a></li>
<li><a
href=
"/docs/templates/provisioners.html"
>
Provisioners
</a></li>
<li><a
href=
"/docs/templates/post-processors.html"
>
Post-Processors
</a></li>
<li><a
href=
"/docs/templates/configuration-templates.html"
>
Configuration Templates
</a></li>
</ul>
<ul>
<li><h4>
Builders
</h4></li>
<li><a
href=
"/docs/builders/digitalocean.html"
>
DigitalOcean
</a></li>
<li><a
href=
"/docs/builders/amazon-ebs.html"
>
EC2 (AMI)
</a></li>
<li><a
href=
"/docs/builders/virtualbox.html"
>
VirtualBox
</a></li>
<li><a
href=
"/docs/builders/vmware.html"
>
VMware
</a></li>
<li><a
href=
"/docs/builders/custom.html"
>
Custom
</a></li>
</ul>
<ul>
<li><h4>
Provisioners
</h4></li>
<li><a
href=
"/docs/provisioners/shell.html"
>
Shell Scripts
</a></li>
<li><a
href=
"/docs/provisioners/custom.html"
>
Custom
</a></li>
</ul>
<ul>
<li><h4>
Other
</h4></li>
<li><a
href=
"/docs/other/core-configuration.html"
>
Core Configuration
</a></li>
<li><a
href=
"/docs/other/debugging.html"
>
Debugging
</a></li>
</ul>
<ul>
<li><h4>
Extend Packer
</h4></li>
<li><a
href=
"/docs/extend/plugins.html"
>
Packer Plugins
</a></li>
<li><a
href=
"/docs/extend/developing-plugins.html"
>
Developing Plugins
</a></li>
<li><a
href=
"/docs/extend/builder.html"
>
Custom Builder
</a></li>
<li><a
href=
"/docs/extend/command.html"
>
Custom Command
</a></li>
<li><a
href=
"/docs/extend/post-processor.html"
>
Custom Post-Processor
</a></li>
<li><a
href=
"/docs/extend/provisioner.html"
>
Custom Provisioner
</a></li>
</ul>
<!-- trick it into having a full-height sidebar regardless of content height -->
<div
class=
"sidebar-background"
></div>
</div>
<div
class=
"docs-body"
>
<div
class=
"docs-content"
>
<%=
yield
%>
</div>
<div
class=
"docs-background"
></div>
</div>
</div>
<%
wrap_layout
:inner
do
%>
<%
content_for
:sidebar
do
%>
<h2>
Docs
</h2>
<ul>
<li><a
href=
"/docs/index.html"
>
What is Packer?
</a></li>
<li><a
href=
"/docs/installation.html"
>
Installation
</a></li>
<li><a
href=
"/docs/basics/terminology.html"
>
Terminology
</a></li>
</ul>
<ul>
<li><h4>
Command-Line
</h4></li>
<li><a
href=
"/docs/command-line/introduction.html"
>
Introduction
</a></li>
<li><a
href=
"/docs/command-line/build.html"
>
Build
</a></li>
<li><a
href=
"/docs/command-line/validate.html"
>
Validate
</a></li>
</ul>
<ul>
<li><h4>
Templates
</h4></li>
<li><a
href=
"/docs/templates/introduction.html"
>
Introduction
</a></li>
<li><a
href=
"/docs/templates/builders.html"
>
Builders
</a></li>
<li><a
href=
"/docs/templates/provisioners.html"
>
Provisioners
</a></li>
<li><a
href=
"/docs/templates/post-processors.html"
>
Post-Processors
</a></li>
<li><a
href=
"/docs/templates/configuration-templates.html"
>
Configuration Templates
</a></li>
</ul>
<ul>
<li><h4>
Builders
</h4></li>
<li><a
href=
"/docs/builders/digitalocean.html"
>
DigitalOcean
</a></li>
<li><a
href=
"/docs/builders/amazon-ebs.html"
>
EC2 (AMI)
</a></li>
<li><a
href=
"/docs/builders/virtualbox.html"
>
VirtualBox
</a></li>
<li><a
href=
"/docs/builders/vmware.html"
>
VMware
</a></li>
<li><a
href=
"/docs/builders/custom.html"
>
Custom
</a></li>
</ul>
<ul>
<li><h4>
Provisioners
</h4></li>
<li><a
href=
"/docs/provisioners/shell.html"
>
Shell Scripts
</a></li>
<li><a
href=
"/docs/provisioners/custom.html"
>
Custom
</a></li>
</ul>
<ul>
<li><h4>
Other
</h4></li>
<li><a
href=
"/docs/other/core-configuration.html"
>
Core Configuration
</a></li>
<li><a
href=
"/docs/other/debugging.html"
>
Debugging
</a></li>
</ul>
<ul>
<li><h4>
Extend Packer
</h4></li>
<li><a
href=
"/docs/extend/plugins.html"
>
Packer Plugins
</a></li>
<li><a
href=
"/docs/extend/developing-plugins.html"
>
Developing Plugins
</a></li>
<li><a
href=
"/docs/extend/builder.html"
>
Custom Builder
</a></li>
<li><a
href=
"/docs/extend/command.html"
>
Custom Command
</a></li>
<li><a
href=
"/docs/extend/post-processor.html"
>
Custom Post-Processor
</a></li>
<li><a
href=
"/docs/extend/provisioner.html"
>
Custom Provisioner
</a></li>
</ul>
<%
end
%>
<%=
yield
%>
<%
end
%>
website/source/layouts/inner.erb
0 → 100644
View file @
4b224d74
<%
wrap_layout
:layout
do
%>
<div
class=
"docs-wrapper"
>
<div
class=
"sidebar dark-background"
>
<%=
yield_content
:sidebar
%>
<div
class=
"sidebar-background"
></div>
</div>
<div
class=
"docs-body"
>
<div
class=
"docs-content"
>
<%=
yield
%>
</div>
<%
if
current_page
.
data
.
next_url
%>
<div
class=
"pagination"
>
<a
class=
"previous-section"
href=
"
<%=
current_page
.
data
.
prev_url
%>
"
></a>
<a
class=
"next-section"
href=
"
<%=
current_page
.
data
.
next_url
%>
"
>
<h4>
<span
class=
"text-green uppercase"
>
next
</span>
<%=
current_page
.
data
.
next_title
%>
</h4>
</a>
</div>
<%
end
%>
<div
class=
"docs-background"
></div>
</div>
</div>
<%
end
%>
website/source/layouts/intro.erb
0 → 100644
View file @
4b224d74
<%
wrap_layout
:inner
do
%>
<%
content_for
:sidebar
do
%>
<h2>
Intro
</h2>
<ul>
<li><h4>
Concepts
</h4></li>
<li><a
href=
"/intro/index.html"
>
What is Packer?
</a></li>
<li><a
href=
"/intro/why.html"
>
Why Use Packer?
</a></li>
<li><a
href=
"/intro/use-cases.html"
>
Use Cases
</a></li>
</ul>
<ul>
<li><h4>
Getting Started
</h4></li>
<li><a
href=
"/intro/getting-started/setup.html"
>
Install Packer
</a></li>
<li><a
href=
"#"
>
Build an Image
</a></li>
<li><a
href=
"#"
>
Provision
</a></li>
<li><a
href=
"#"
>
Parallel Builds
</a></li>
<li><a
href=
"#"
>
Post-Process
</a></li>
</ul>
<%
end
%>
<%=
yield
%>
<%
end
%>
website/source/layouts/layout.erb
View file @
4b224d74
<!DOCTYPE html>
<html>
<head>
<title>
Packer
</title>
<title>
<%=
current_page
.
data
.
page_title
?
"
#{
current_page
.
data
.
page_title
}
- "
:
""
%>
Packer
</title>
<meta
name=
"description"
content=
"Packer is a free and open source tool for creating golden images for multiple platforms from a single source configuration."
/>
<!-- HTML5 shiv -->
...
...
@@ -33,7 +33,7 @@
</a>
<a
href=
"/"
class=
"packer-logo pull-left"
>
Packer
</a>
<ul>
<li><a
href=
"
#
"
>
Intro
</a></li>
<li><a
href=
"
/intro
"
>
Intro
</a></li>
<li><a
href=
"/docs"
>
Documentation
</a></li>
<li><a
href=
"#"
>
Community
</a></li>
</ul>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment