Files
MyMasters/data/QuickAndDirty/build.sh
2022-04-03 09:41:21 +00:00

179 lines
8.8 KiB
Bash
Executable File

#!/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'