AWS AMI

Instalacja

wget https://releases.hashicorp.com/packer/0.12.1/packer_0.12.1_linux_amd64.zip

{
  "variables": {
    "aws_access_key": "XXX",
    "aws_secret_key": "XXX",
    "region": "REGION"
  },
  "builders": [{
    "type": "amazon-ebs",
    "access_key": "{{user `aws_access_key` }}",
    "secret_key": "{{user `aws_secret_key` }}",
    "region": "{{user `region` }}",
    "source_ami": "AMI",
    "instance_type":"t2.micro",
    "ssh_username": "USER",
    "ami_name": "mojeami-{{isotime | clean_ami_name}}"
  }],
  "provisioners": [

  ]
}

Budowanie: packer build template.json Walidowanie: packer validate template.json Przekazywanie zmiennych runtime: packer build -var region:costam

Provisioning:

{
"provisioners": [{
  "type": "shell",
  "inline": [
    "sleep 30",
    "sudo apt-get update",
    "sudo apt-get install -y nginx"
  ]
}]

"provisioners": [{
   "type": "shell",
   "environment_vars": [
    "AWS_ACCESS_KEY_ID={{user `aws_access_key` }}",
    "AWS_SECRET_ACCESS_KEY={{user `aws_secret_key` }}",
    "AWS_DEFAULT_REGION={{user `region` }}"
  ],
  "scripts": [
    "scripts/bootstrap.sh",
    "scripts/install_nginx.sh"
  ]
  }
]
}

Budujemy dockera?

{ "type": "docker",
  "image": "ubuntu",
  "commit": "true"
}