36 lines
1.1 KiB
Bash
36 lines
1.1 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
set -e
|
||
|
|
|
||
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
|
cd "$SCRIPT_DIR"
|
||
|
|
|
||
|
|
if [ ! -f server.pkrvars.hcl ]; then
|
||
|
|
echo "Error: server.pkrvars.hcl not found."
|
||
|
|
echo "Copy server.pkrvars.hcl.example to server.pkrvars.hcl and fill in your values."
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo "=== Initializing Packer plugins ==="
|
||
|
|
packer init ubuntu-server.pkr.hcl
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "=== Building image ==="
|
||
|
|
echo "This will take 15-30 minutes depending on your machine."
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
packer build -var-file=server.pkrvars.hcl ubuntu-server.pkr.hcl
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "==========================================="
|
||
|
|
echo " Image built successfully!"
|
||
|
|
echo "==========================================="
|
||
|
|
echo " Output: $SCRIPT_DIR/output/packer-ubuntu-server"
|
||
|
|
echo ""
|
||
|
|
echo " To test locally:"
|
||
|
|
echo " qemu-system-x86_64 -m 4096 -hda output/packer-ubuntu-server -enable-kvm"
|
||
|
|
echo ""
|
||
|
|
echo " To convert for other formats:"
|
||
|
|
echo " qemu-img convert -f qcow2 -O raw output/packer-ubuntu-server output/server.raw"
|
||
|
|
echo " qemu-img convert -f qcow2 -O vmdk output/packer-ubuntu-server output/server.vmdk"
|
||
|
|
echo "==========================================="
|