add env_var_format to docs since we reference it in the examples

pull/7181/head
Megan Marsh 7 years ago
parent 4581b3badb
commit 56725df3a2

@ -60,6 +60,14 @@ Optional parameters:
Packer injects some environmental variables by default into the Packer injects some environmental variables by default into the
environment, as well, which are covered in the section below. environment, as well, which are covered in the section below.
- `env_var_format` (string) - When we parse the environment_vars that you
provide, this gives us a string template to use in order to make sure that
we are setting the environment vars correctly. By default on Windows hosts
this format is `set %s=%s && ` and on Unix, it is `%s='%s' `. You probably
won't need to change this format, but you can see usage examples for where
it is necessary below.
- `execute_command` (array of strings) - The command used to execute the - `execute_command` (array of strings) - The command used to execute the
script. By default this is `["/bin/sh", "-c", "{{.Vars}}", "{{.Script}}"]` script. By default this is `["/bin/sh", "-c", "{{.Vars}}", "{{.Script}}"]`
on unix and `["cmd", "/c", "{{.Vars}}", "{{.Script}}"]` on windows. This is on unix and `["cmd", "/c", "{{.Vars}}", "{{.Script}}"]` on windows. This is
@ -242,8 +250,10 @@ are cleaned up.
For a shell script, that means the script **must** exit with a zero code. You For a shell script, that means the script **must** exit with a zero code. You
*must* be extra careful to `exit 0` when necessary. *must* be extra careful to `exit 0` when necessary.
## Usage Examples: ## Usage Examples:
### Windows Host
Example of running a .cmd file on windows: Example of running a .cmd file on windows:
{ {
@ -306,7 +316,8 @@ customizations: env\_var\_format, tempfile\_extension, and execute\_command
"inline": ["write-output $env:SHELLLOCALTEST"] "inline": ["write-output $env:SHELLLOCALTEST"]
} }
Example of running a bash script on linux: ### Unix Host
Example of running a bash script on unix:
{ {
"type": "shell-local", "type": "shell-local",
@ -314,7 +325,7 @@ Example of running a bash script on linux:
"scripts": ["./scripts/example_bash.sh"] "scripts": ["./scripts/example_bash.sh"]
} }
Example of running a bash "inline" on linux: Example of running a bash "inline" on unix:
{ {
"type": "shell-local", "type": "shell-local",
@ -322,3 +333,22 @@ Example of running a bash "inline" on linux:
"inline": ["echo hello", "inline": ["echo hello",
"echo $PROVISIONERTEST"] "echo $PROVISIONERTEST"]
} }
Example of running a python script on unix:
```
{
"type": "shell-local",
"script": "hello.py",
"environment_vars": ["HELLO_USER=packeruser"],
"execute_command": ["/bin/sh", "-c", "{{.Vars}} /usr/local/bin/python {{.Script}}"]
}
```
Where "hello.py" contains:
```
import os
print('Hello, %s!' % os.getenv("HELLO_USER"))
```

@ -74,6 +74,13 @@ Optional parameters:
this as an environment variable. For example: this as an environment variable. For example:
`"environment_vars": "WINRMPASS={{.WinRMPassword}}"` `"environment_vars": "WINRMPASS={{.WinRMPassword}}"`
- `env_var_format` (string) - When we parse the environment_vars that you
provide, this gives us a string template to use in order to make sure that
we are setting the environment vars correctly. By default on Windows hosts
this format is `set %s=%s && ` and on Unix, it is `%s='%s' `. You probably
won't need to change this format, but you can see usage examples for where
it is necessary below.
- `execute_command` (array of strings) - The command used to execute the - `execute_command` (array of strings) - The command used to execute the
script. By default this is `["/bin/sh", "-c", "{{.Vars}}", "{{.Script}}"]` script. By default this is `["/bin/sh", "-c", "{{.Vars}}", "{{.Script}}"]`
on unix and `["cmd", "/c", "{{.Vars}}", "{{.Script}}"]` on windows. This is on unix and `["cmd", "/c", "{{.Vars}}", "{{.Script}}"]` on windows. This is
@ -270,6 +277,7 @@ env\_var\_format and execute\_command
"environment_vars": ["SHELLLOCALTEST=ShellTest4"], "environment_vars": ["SHELLLOCALTEST=ShellTest4"],
"execute_command": ["powershell.exe", "{{.Vars}} {{.Script}}"], "execute_command": ["powershell.exe", "{{.Vars}} {{.Script}}"],
"env_var_format": "$env:%s=\"%s\"; ", "env_var_format": "$env:%s=\"%s\"; ",
"script": "./scripts/example_ps.ps1"
} }
Example of running a powershell script on windows as "inline": Required Example of running a powershell script on windows as "inline": Required
@ -290,7 +298,7 @@ Example of running a bash script on unix:
{ {
"type": "shell-local", "type": "shell-local",
"environment_vars": ["PROVISIONERTEST=ProvisionerTest1"], "environment_vars": ["PROVISIONERTEST=ProvisionerTest1"],
"scripts": ["./scripts/dummy_bash.sh"] "scripts": ["./scripts/example_bash.sh"]
} }
Example of running a bash "inline" on unix: Example of running a bash "inline" on unix:

Loading…
Cancel
Save