#!/bin/bash THE_VER=$(date +'%y%m%d') date '+%d/%m/%Y %H:%M:%S' IRISPREFIX="IRIS" PACKER_LOG=1 SCRIPTDIR=$(dirname $0) #DFT_PARAM="-force -color=false -on-error=ask -var-file ${SCRIPTDIR}/config/irisvars.json" DFT_PARAM="-force -color=false -var-file ${SCRIPTDIR}/config/irisvars.json" OSString=$1 case $1 in 2K16) cp -fv "${SCRIPTDIR}/winver/${OSString}/autounattend.xml" "${SCRIPTDIR}/winver/autounattend.xml" export ISODISK="[SDX-DS-SOURCES] /ISO/Windows/SW_DVD9_Win_Svr_STD_Core_and_DataCtr_Core_2016_64Bit_English_-2_MLF_X21-22843.ISO" OSSTRING="W2K16" TheBuilder="Vsphere" BuildSettings="-on-error=ask ${DFT_PARAM} -only=${TheBuilder} -var VMNAME=${IRISPREFIX}-${OSSTRING}-${THE_VER} ${SCRIPTDIR}/iris-WindowsServer2016.json" # BuildSettings="${DFT_PARAM} -only=${TheBuilder} -var VMNAME=${IRISPREFIX}-${OSSTRING}-${THE_VER} ${SCRIPTDIR}/iris-WindowsServer.json" ;; 2K19) cp -fv "${SCRIPTDIR}/winver/${OSString}/autounattend.xml" "${SCRIPTDIR}/winver/autounattend.xml" export ISODISK="[SDX-DS-SOURCES] /ISO/Windows/17763.737.190906-2324.rs5_release_svc_refresh_SERVER_EVAL_x64FRE_en-us_1.iso" OSSTRING="W2K19" TheBuilder="Vsphere" BuildSettings="${DFT_PARAM} -only=${TheBuilder} -var VMNAME=${IRISPREFIX}-${OSSTRING}-${THE_VER} ${SCRIPTDIR}/iris-WindowsServer.json" ;; 2K22) cp -fv "${SCRIPTDIR}/winver/${OSString}/autounattend.xml" "${SCRIPTDIR}/winver/autounattend.xml" #cp -fv "${SCRIPTDIR}/winver/2K19/autounattend.xml" "${SCRIPTDIR}/winver/autounattend.xml" export ISODISK="[SDX-DS-SOURCES] /ISO/Windows/20348.169.210806-2348.fe_release_svc_refresh_SERVER_EVAL_x64FRE_en-us.iso" OSSTRING="W2K22" TheBuilder="Vsphere" BuildSettings="${DFT_PARAM} -only=${TheBuilder} -var VMNAME=${IRISPREFIX}-${OSSTRING}-${THE_VER} ${SCRIPTDIR}/iris-WindowsServer.json" ;; AWS19) OSSTRING="W2K19" IRISPREFIX="EC2IRIS" OSFILTER="Windows_Server-2019-English-Full-Base-*" TheBuilder="AWS" InstanceType="t2.medium" BuildSettings="${DFT_PARAM} -only=${TheBuilder} -var "aws_os_filter=${OSFILTER}" -var InstanceType=${InstanceType} -var VMNAME=${IRISPREFIX}-${OSSTRING}-${THE_VER} ${SCRIPTDIR}/iris-WindowsServer.json" ;; SQL19STD) OSSTRING="SQL19STD" IRISPREFIX="EC2IRIS" OSFILTER="Windows_Server-2019-English-Full-SQL_2019_Standard-*" TheBuilder="AWS" InstanceType="t3.xlarge" BuildSettings="${DFT_PARAM} -only=${TheBuilder} -var "aws_os_filter=${OSFILTER}" -var InstanceType=${InstanceType} -var VMNAME=${IRISPREFIX}-${OSSTRING}-${THE_VER} ${SCRIPTDIR}/iris-WindowsServer.json" ;; SQL19ENT) OSSTRING="SQL19ENT" IRISPREFIX="EC2IRIS" OSFILTER="Windows_Server-2019-English-Full-SQL_2019_Enterprise-*" TheBuilder="AWS" InstanceType="t3.xlarge" BuildSettings="${DFT_PARAM} -only=${TheBuilder} -var "aws_os_filter=${OSFILTER}" -var InstanceType=${InstanceType} -var VMNAME=${IRISPREFIX}-${OSSTRING}-${THE_VER} ${SCRIPTDIR}/iris-WindowsServer.json" ;; SQL17STD) OSSTRING="SQL17STD" IRISPREFIX="EC2IRIS" OSFILTER="Windows_Server-2019-English-Full-SQL_2017_Standard-*" TheBuilder="AWS" InstanceType="t3.xlarge" BuildSettings="${DFT_PARAM} -only=${TheBuilder} -var "aws_os_filter=${OSFILTER}" -var InstanceType=${InstanceType} -var VMNAME=${IRISPREFIX}-${OSSTRING}-${THE_VER} ${SCRIPTDIR}/iris-WindowsServer.json" ;; SQL17ENT) OSSTRING="SQL17ENT" IRISPREFIX="EC2IRIS" OSFILTER="Windows_Server-2019-English-Full-SQL_2017_Enterprise-*" TheBuilder="AWS" InstanceType="t3.xlarge" BuildSettings="${DFT_PARAM} -only=${TheBuilder} -var "aws_os_filter=${OSFILTER}" -var InstanceType=${InstanceType} -var VMNAME=${IRISPREFIX}-${OSSTRING}-${THE_VER} ${SCRIPTDIR}/iris-WindowsServer.json" ;; AWS16) OSSTRING="W2K16" IRISPREFIX="EC2IRIS" OSFILTER="Windows_Server-2016-English-Full-Base-*" TheBuilder="AWS" InstanceType="t2.medium" BuildSettings="${DFT_PARAM} -only=${TheBuilder} -var "aws_os_filter=${OSFILTER}" -var InstanceType=${InstanceType} -var VMNAME=${IRISPREFIX}-${OSSTRING}-${THE_VER} ${SCRIPTDIR}/iris-WindowsServer.json" ;; AWSAMI) OSSTRING="AMI2" IRISPREFIX="linux" OSFILTER="amzn2-ami-hvm-2*" TheBuilder="AWSAMI" TheAWSOwner="amazon" InstanceType="t2.micro" TheAWSUser="ec2-user" BuildSettings="${DFT_PARAM} -only=${TheBuilder} -var "awsssh-user=${TheAWSUser}" -var "aws_builder_name=${TheBuilder}" -var "aws_ami_owner=${TheAWSOwner}" -var "aws_os_filter=${OSFILTER}" -var InstanceType=${InstanceType} -var VMNAME=${IRISPREFIX}-${OSSTRING}-${THE_VER} ${SCRIPTDIR}/Linux.json" ;; AWSRHEL8) OSSTRING="RHEL8" IRISPREFIX="linux" #OSFILTER="RHEL-8.4.0_HVM-20210825-x86_64*" OSFILTER="RHEL_HA-8.5.0_HVM-202*" TheAWSOwner="309956199498" TheBuilder="AWSRHEL8" InstanceType="t2.micro" TheAWSUser="ec2-user" BuildSettings="${DFT_PARAM} -only=${TheBuilder} -var "awsssh-user=${TheAWSUser}" -var "aws_builder_name=${TheBuilder}" -var "aws_ami_owner=${TheAWSOwner}" -var "aws_os_filter=${OSFILTER}" -var InstanceType=${InstanceType} -var VMNAME=${IRISPREFIX}-${OSSTRING}-${THE_VER} ${SCRIPTDIR}/Linux.json" ;; AWSROCKY) OSSTRING="ROCKY" IRISPREFIX="linux" #AMI ID: ami-0abb90b1685f9e9fc OSFILTER="Rocky-8-ec2-8.5-202*" #OSFILTER="Rocky-8-ec2-8.5*" #OSFILTER="Rocky-8*" TheAWSOwner="792107900819" TheBuilder="AWSROCKY" InstanceType="t2.micro" TheAWSUser="rocky" BuildSettings="${DFT_PARAM} -only=${TheBuilder} -var "awsssh-user=${TheAWSUser}" -var "aws_builder_name=${TheBuilder}" -var "aws_ami_owner=${TheAWSOwner}" -var "aws_os_filter=${OSFILTER}" -var InstanceType=${InstanceType} -var VMNAME=${IRISPREFIX}-${OSSTRING}-${THE_VER} ${SCRIPTDIR}/Linux.json" ;; AWSUBUNTU) OSSTRING="UBU2004" IRISPREFIX="linux" #OSFILTER="ubuntu-focal-20.04-amd64-server-*" OSFILTER="ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*" TheAWSOwner="099720109477" TheBuilder="AWSUBUNTU" InstanceType="t2.micro" TheAWSUser="ubuntu" BuildSettings="${DFT_PARAM} -only=${TheBuilder} -var "awsssh-user=${TheAWSUser}" -var "aws_builder_name=${TheBuilder}" -var "aws_ami_owner=${TheAWSOwner}" -var "aws_os_filter=${OSFILTER}" -var InstanceType=${InstanceType} -var VMNAME=${IRISPREFIX}-${OSSTRING}-${THE_VER} ${SCRIPTDIR}/Linux.json" ;; Ubuntu) export ISODISK="[SDX-DS-SOURCES] /ISO/Linux/ubuntu-20.04.3-live-server-amd64.iso" OSSTRING="UBU2004" IRISPREFIX="linux" TheBuilder="UbuntuSrv20.04" BuildSettings="${DFT_PARAM} -only=${TheBuilder} -var VMNAME=${IRISPREFIX}-${OSSTRING}-${THE_VER} ${SCRIPTDIR}/Linux.json" ;; ALMA) DFT_PARAM="${DFT_PARAM} -on-error=ask" export ISODISK="[SDX-DS-SOURCES] /ISO/Linux/AlmaLinux-8.5-x86_64-dvd.iso" OSSTRING="ALMA8" IRISPREFIX="linux" TheBuilder="CentOS" BuildSettings="${DFT_PARAM} -only=${TheBuilder} -var VMNAME=${IRISPREFIX}-${OSSTRING}-${THE_VER} ${SCRIPTDIR}/Linux.json" ;; ROCKY) DFT_PARAM="${DFT_PARAM} -on-error=ask" export ISODISK="[SDX-DS-SOURCES] /ISO/Linux/Rocky-8.5-x86_64-dvd1.iso" OSSTRING="ROCKY" IRISPREFIX="linux" TheBuilder="CentOS" BuildSettings="${DFT_PARAM} -only=${TheBuilder} -var VMNAME=${IRISPREFIX}-${OSSTRING}-${THE_VER} ${SCRIPTDIR}/Linux.json" ;; CentOS) export ISODISK="[SDX-DS-SOURCES] /ISO/Linux/CentOS-8.5.2111-x86_64-dvd1.iso" OSSTRING="CentOS" IRISPREFIX="linux" TheBuilder="CentOS" BuildSettings="${DFT_PARAM} -only=${TheBuilder} -var VMNAME=${IRISPREFIX}-${OSSTRING}-${THE_VER} ${SCRIPTDIR}/Linux.json" ;; *) echo "argument must be '2K16' or '2K19' or '2K22' or 'Ubuntu' or 'ALMA' or 'ROCKY' or 'CentOS' or" echo "'AWS16' or 'AWS19' or 'SQL19STD' or 'SQL19ENT' or 'SQL17STD' or 'SQL17ENT' or" echo "'AWSAMI' or 'AWSRHEL8' or 'AWSUBUNTU' or 'AWSROCKY' installation" exit 555 ;; esac echo lets build $1 #echo "SCRIPT PATH:${SCRIPTDIR}" #echo "DFT_PARAM: ${DFT_PARAM}" #echo "BuildSettings: ${BuildSettings}" #echo "packer build ${BuildSettings}" #echo "ISODISK ${ISODISK}" . $HOME/packer.sh time packer build ${BuildSettings} | tee $1.log #packer build ${BuildSettings} | tee $1.log echo "exit code:$?" if [ -f ./winver/autounattend.xml ]; then rm -fv ./winver/autounattend.xml fi date '+%d/%m/%Y %H:%M:%S'