Packer shell Provisioner: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 44: Line 44:


==scripts==
==scripts==
<syntaxhighlight lang='json'>
{
  ...
  "provisioners": [
    {
      "type": "shell",
      "only": [
        "my-builder"
      ],
      "environment_vars": [
        "SOMETHING={{ user `something` }}"
      ],
      "execute_command": "echo '' | {{ .Vars }} sudo -S -E -u root '{{ .Path }}'",
      "scripts": [
        "scripts/something.sh",
        "scripts/something-else.sh",
      ]
    },
  ...
  ]
}
</syntaxhighlight>


=Parameters=
=Parameters=

Revision as of 17:48, 15 November 2019

External

Internal

Overview

shell Provisioner Types

inline

{
  ...
  "provisioners": [
    {
      "type": "shell",
      "inline": ["sudo yum install ansible"]
    },
  ... 
  ]
}

script

{
  ...
  "provisioners": [
    {
      "type": "shell",
      "only": [
        "my-builder"
      ],
      "environment_vars": [
        "SOMETHING={{ user `something` }}"
      ],
      "execute_command": "echo '' | {{ .Vars }} sudo -S -E -u root '{{ .Path }}'",
      "script": "config/something.sh"
    },
  ... 
  ]
}

scripts

{
  ...
  "provisioners": [
    {
      "type": "shell",
      "only": [
        "my-builder"
      ],
      "environment_vars": [
        "SOMETHING={{ user `something` }}"
      ],
      "execute_command": "echo '' | {{ .Vars }} sudo -S -E -u root '{{ .Path }}'",
      "scripts": [
        "scripts/something.sh",
        "scripts/something-else.sh",
       ]
    },
  ... 
  ]
}

Parameters

execute_command

A String that specifies the command to use to execute the script. The default value, unless specified, is:

chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}