Files
runner-images/images.CI/macos/build-image.ps1
2020-09-14 02:15:55 +03:00

55 lines
2.7 KiB
PowerShell

param(
[String] [Parameter (Mandatory=$true)] $Image,
[String] [Parameter (Mandatory=$true)] $VcenterServer,
[String] [Parameter (Mandatory=$true)] $VcenterUsername,
[String] [Parameter (Mandatory=$true)] $VcenterPassword,
[String] [Parameter (Mandatory=$true)] $VcenterDatacenter,
[String] [Parameter (Mandatory=$true)] $EsxiCluster,
[String] [Parameter (Mandatory=$true)] $TargetDatastore,
[String] [Parameter (Mandatory=$true)] $OutputFolder,
[String] [Parameter (Mandatory=$true)] $VmUsername,
[String] [Parameter (Mandatory=$true)] $VmPassword,
[String] [Parameter (Mandatory=$true)] $BuildId,
[String] [Parameter (Mandatory=$true)] $BaseImageName,
[String] [Parameter (Mandatory=$true)] $AzureStorageSas,
[String] [Parameter (Mandatory=$true)] $AzureStorageAccount,
[String] [Parameter (Mandatory=$true)] $BuildAssetsUrl,
[String] [Parameter (Mandatory=$true)] $GithubFeedToken,
[String] [Parameter (Mandatory=$true)] $XcodeInstallationUser,
[String] [Parameter (Mandatory=$true)] $XcodeInstallationPassword
)
$TemplatePath = (Get-ChildItem -Path "templates" -Include "$Image.json" -Recurse -Depth 2).FullName
if (-not $TemplatePath)
{
Write-Error "'-Image' parameter is not valid. You have to specify correct image type."
exit 1
}
$env:PACKER_LOG = 0
packer validate -syntax-only $TemplatePath
Write-Host "Show Packer Version"
packer --version
Write-Host "Build $Image VM"
packer build -on-error=abort -var="vcenter_server=$VcenterServer" `
-var="vcenter_username=$VcenterUsername" `
-var="vcenter_password=$VcenterPassword" `
-var="vcenter_datacenter=$VcenterDatacenter" `
-var="cluster_or_esxi_host=$EsxiCluster" `
-var="esxi_datastore=$TargetDatastore" `
-var="output_folder=$OutputFolder" `
-var="vm_username=$VmUsername" `
-var="vm_password=$VmPassword" `
-var="build_id=$BuildId" `
-var="baseimage_name=$BaseImageName" `
-var="azure_storage_sas=$AzureStorageSas" `
-var="azure_storage_account=$AzureStorageAccount" `
-var="build_assets_url=$BuildAssetsUrl" `
-var="github_feed_token=$GithubFeedToken" `
-var="xcode_install_user=$XcodeInstallationUser" `
-var="xcode_install_password=$XcodeInstallationPassword" `
-color=false `
$TemplatePath