diff --git a/website/source/docs/provisioners/shell.html.markdown b/website/source/docs/provisioners/shell.html.markdown new file mode 100644 index 000000000..9112b870a --- /dev/null +++ b/website/source/docs/provisioners/shell.html.markdown @@ -0,0 +1,48 @@ +--- +layout: "docs" +--- + +# Shell Provisioner + +Type: `shell` + +The shell provisioner provisions machines built by Packer using shell scripts. +Shell provisioning is the easiest way to get software installed and configured +on a machine. + +## Basic Example + +The example below is fully functional. + +
+{
+  "type": "shell",
+  "inline": ["echo foo"]
+}
+
+ +## Configuration Reference + +The reference of available configuratin options is listed below. The only +required element is either "inline" or "path". Every other option is optional. + +* `inline` (array of strings) - This is an array of commands to execute. + The commands are concatenated by newlines and turned into a single file, + so they are all executed within the same context. This allows you to + change directories in one command and use something in the directory in + the next and so on. Inline scripts are the easiest way to pull of simple + tasks within the machine. + +* `path` (string) - The path to a script to upload and execute in the machine. + This path can be absolute or relative. If it is relative, it is relative + to the working directory when Packer is executed. + +* `remote_path` (string) - The path where the script will be uploaded to + in the machine. This defaults to "/tmp/script.sh". This value must be + a writable location and any parent directories must already exist. + +* `execute_command` (string) - The command to use to execute the script. + By default this is `sh {{ .Path }}`. The value of this is treated as a + [configuration template](/docs/templates/configuration-templates.html). + The only available variable in it is `Path` which is the path to the + script to run. diff --git a/website/source/layouts/docs.erb b/website/source/layouts/docs.erb index 49cb780f1..43217316e 100644 --- a/website/source/layouts/docs.erb +++ b/website/source/layouts/docs.erb @@ -47,7 +47,7 @@
  • Custom
  • -
  • Shell Scripts
  • +
  • Shell Scripts
  • Custom