diff --git a/packer/jenkins-agent-macos13-arm64.json b/packer/jenkins-agent-macos13-arm64.json new file mode 100644 index 00000000..05b6be5f --- /dev/null +++ b/packer/jenkins-agent-macos13-arm64.json @@ -0,0 +1,106 @@ +{ + "variables": { + "ami_name": "Jenkins-Agent-MacOS13-ARM64-Mac2M2ProMetal", + "os_version": "13.6.7", + "os_architecture": "arm64_mac", + "build-region": "us-east-1", + "build-vpc": "vpc-<>", + "build-subnet": "subnet-<>", + "build-secgrp": "sg-<>", + "build-time": "{{isotime \"2006-01-02T03-04-05Z\"}}", + "aws_ami_region": "us-east-1", + "root_volume_size_gb": "300" + }, + "builders": [ + { + "name": "{{user `ami_name`}}-{{user `os_version`}}-{{user `build-time`}}", + "ami_description": "{{user `ami_name`}}", + "type": "amazon-ebs", + "encrypt_boot": "false", + "region": "{{user `build-region`}}", + "ami_regions": "{{user `aws_ami_region`}}", + "instance_type": "mac2-m2pro.metal", + "ami_name": "{{user `ami_name`}}-{{user `os_version`}}-{{user `build-time`}}", + "vpc_id": "{{user `build-vpc`}}", + "subnet_id": "{{user `build-subnet`}}", + "aws_polling": { + "delay_seconds": 60, + "max_attempts": 60 + }, + "security_group_ids": "{{user `build-secgrp`}}", + "ssh_interface": "", + "source_ami_filter": { + "filters": { + "virtualization-type": "hvm", + "name": "amzn-ec2-macos-{{user `os_version`}}-*", + "root-device-type": "ebs", + "architecture": "{{user `os_architecture`}}" + }, + "owners": [ + "amazon" + ], + "most_recent": true + }, + "associate_public_ip_address": false, + "ssh_username": "ec2-user", + "ssh_timeout": "3h", + "tenancy": "host", + "ebs_optimized": "true", + "tags": { + "Name": "{{user `ami_name`}}-{{user `os_version`}}-{{user `build-time`}}", + "OS_Version": "{{user `os_version`}}", + "User": "Packer", + "Encrypted_AMI": "False", + "Created": "{{user `build-time`}}" + }, + "launch_block_device_mappings": [ + { + "device_name": "/dev/sda1", + "volume_size": "{{user `root_volume_size_gb`}}", + "delete_on_termination": true, + "volume_type": "gp3" + } + ] + } + ], + "provisioners": [ + { + "type": "shell", + "scripts": [ + "scripts/macos/macos-disk-resize.sh" + ], + "max_retries": 3 + }, + { + "type": "shell", + "inline": [ + "sudo /usr/local/bin/ec2-macos-init clean --all" + ], + "max_retries": 3 + }, + { + "type": "shell", + "inline": [ + "sudo chsh -s /bin/bash $(whoami)" + ], + "max_retries": 3 + }, + { + "type": "file", + "source": "files/macos/bash_profile", + "destination": "/Users/ec2-user/.bash_profile" + }, + { + "type": "file", + "source": "files/macos/bashrc", + "destination": "/Users/ec2-user/.bashrc" + }, + { + "type": "shell", + "scripts": [ + "scripts/macos/macos-agentsetup.sh" + ], + "max_retries": 3 + } + ] +} diff --git a/packer/jenkins-agent-macos13-x64.json b/packer/jenkins-agent-macos13-x64.json new file mode 100644 index 00000000..5ba607b3 --- /dev/null +++ b/packer/jenkins-agent-macos13-x64.json @@ -0,0 +1,106 @@ +{ + "variables": { + "ami_name": "Jenkins-Agent-MacOS13-X64-Mac1Metal-JDK21", + "os_version": "13.6.7", + "os_architecture": "x86_64_mac", + "build-region": "us-east-1", + "build-vpc": "vpc-<>", + "build-subnet": "subnet-<>", + "build-secgrp": "sg-<>", + "build-time": "{{isotime \"2006-01-02T03-04-05Z\"}}", + "aws_ami_region": "us-east-1", + "root_volume_size_gb": "300" + }, + "builders": [ + { + "name": "{{user `ami_name`}}-{{user `os_version`}}-{{user `build-time`}}", + "ami_description": "{{user `ami_name`}}", + "type": "amazon-ebs", + "encrypt_boot": "false", + "region": "{{user `build-region`}}", + "ami_regions": "{{user `aws_ami_region`}}", + "instance_type": "mac1.metal", + "ami_name": "{{user `ami_name`}}-{{user `os_version`}}-{{user `build-time`}}", + "vpc_id": "{{user `build-vpc`}}", + "subnet_id": "{{user `build-subnet`}}", + "aws_polling": { + "delay_seconds": 60, + "max_attempts": 60 + }, + "security_group_ids": "{{user `build-secgrp`}}", + "ssh_interface": "", + "source_ami_filter": { + "filters": { + "virtualization-type": "hvm", + "name": "amzn-ec2-macos-{{user `os_version`}}-*", + "root-device-type": "ebs", + "architecture": "{{user `os_architecture`}}" + }, + "owners": [ + "amazon" + ], + "most_recent": true + }, + "associate_public_ip_address": false, + "ssh_username": "ec2-user", + "ssh_timeout": "3h", + "tenancy": "host", + "ebs_optimized": "true", + "tags": { + "Name": "{{user `ami_name`}}-{{user `os_version`}}-{{user `build-time`}}", + "OS_Version": "{{user `os_version`}}", + "User": "Packer", + "Encrypted_AMI": "False", + "Created": "{{user `build-time`}}" + }, + "launch_block_device_mappings": [ + { + "device_name": "/dev/sda1", + "volume_size": "{{user `root_volume_size_gb`}}", + "delete_on_termination": true, + "volume_type": "gp3" + } + ] + } + ], + "provisioners": [ + { + "type": "shell", + "scripts": [ + "scripts/macos/macos-disk-resize.sh" + ], + "max_retries": 3 + }, + { + "type": "shell", + "inline": [ + "sudo /usr/local/bin/ec2-macos-init clean --all" + ], + "max_retries": 3 + }, + { + "type": "shell", + "inline": [ + "sudo chsh -s /bin/bash $(whoami)" + ], + "max_retries": 3 + }, + { + "type": "file", + "source": "files/macos/bash_profile", + "destination": "/Users/ec2-user/.bash_profile" + }, + { + "type": "file", + "source": "files/macos/bashrc", + "destination": "/Users/ec2-user/.bashrc" + }, + { + "type": "shell", + "scripts": [ + "scripts/macos/macos-agentsetup.sh" + ], + "max_retries": 3 + } + ] +} diff --git a/packer/jenkins-agent-macos12-x64.json b/packer/legacy/jenkins-agent-macos12-x64.json similarity index 100% rename from packer/jenkins-agent-macos12-x64.json rename to packer/legacy/jenkins-agent-macos12-x64.json