Build AMI with CI/CD (CircleCI)

1 Configuration of EC2 AMI

“Builders”:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
"builders": [
{
"type": "amazon-ebs",
"access_key": "{{user `aws_access_key`}}",
"secret_key": "{{user `aws_secret_key`}}",
"region": "{{user `aws_region`}}",
"instance_type": "t2.micro",
"subnet_id": "{{user `subnet_id`}}",
"source_ami": "{{user `source_ami`}}",
"ssh_username": "{{user `ssh_username`}}",
"ami_name": "csye6225_{{timestamp}}",
"ami_users": "{{user `ami_users`}}",
"ami_description": "Ubuntu AMI for CSYE 6225 - Spring 2020",
"launch_block_device_mappings": [
{
"device_name": "/dev/sda1",
"volume_size": 8,
"volume_type": "gp2",
"delete_on_termination": true
}
]
}
],

“Provisioners”:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
"provisioners": [
{
"type": "shell",
"environment_vars": [
"FOO=foo"
],
"inline": [
"sudo apt-get update",
"sudo apt-get -y install default-jdk",
"sudo apt-get -y install tomcat8",
"sudo apt-get install -y tomcat8-docs tomcat8-examples tomcat8-admin"
]
}
]

AWS