packer.json:
{
"variables": {
"aws_access_key": "",
"aws_secret_key": "",
"build_version": "",
"my_region": "",
"domainname": ""
},
"builders": [
{
"type": "amazon-ebs",
"access_key": "{{user `aws_access_key`}}",
"secret_key": "{{user `aws_secret_key`}}",
"region": "{{user `my_region`}}",
"source_ami": "ami-e689729e",
"instance_type": "t2.micro",
"ssh_username": "ec2-user",
"ssh_timeout": "10m",
"ssh_pty": true,
"ami_name": "QAT_eureka_{{user `build_version`}}",
"ami_description": "Custom AMI for Eureka"
}
],
"provisioners": [
{
"type": "file",
"source": "files",
"destination": "/tmp"
},
{
"type": "shell",
"scripts": [
"scripts/install.sh"
],
"execute_command": "{{ .Vars }} sudo -E sh '{{ .Path }}'",
"environment_vars": [
"MY_REGION={{user `my_region`}}",
"MY_DOMAIN={{user `domainname`}}"
]
}
]
}
packer build -var my_region=us-west-2 -var domainname=dom.loc packer.json
В скрипте install.sh будут доступны эти переменные (благодаря sudo -E)
{
"variables": {
"aws_access_key": "",
"aws_secret_key": "",
"build_version": "",
"my_region": "",
"domainname": ""
},
"builders": [
{
"type": "amazon-ebs",
"access_key": "{{user `aws_access_key`}}",
"secret_key": "{{user `aws_secret_key`}}",
"region": "{{user `my_region`}}",
"source_ami": "ami-e689729e",
"instance_type": "t2.micro",
"ssh_username": "ec2-user",
"ssh_timeout": "10m",
"ssh_pty": true,
"ami_name": "QAT_eureka_{{user `build_version`}}",
"ami_description": "Custom AMI for Eureka"
}
],
"provisioners": [
{
"type": "file",
"source": "files",
"destination": "/tmp"
},
{
"type": "shell",
"scripts": [
"scripts/install.sh"
],
"execute_command": "{{ .Vars }} sudo -E sh '{{ .Path }}'",
"environment_vars": [
"MY_REGION={{user `my_region`}}",
"MY_DOMAIN={{user `domainname`}}"
]
}
]
}
packer build -var my_region=us-west-2 -var domainname=dom.loc packer.json
В скрипте install.sh будут доступны эти переменные (благодаря sudo -E)
Комментариев нет:
Отправить комментарий