diff --git a/images.CI/macos/azure-pipelines/image-generation.yml b/images.CI/macos/azure-pipelines/image-generation.yml index 98aec59b..bd39df57 100644 --- a/images.CI/macos/azure-pipelines/image-generation.yml +++ b/images.CI/macos/azure-pipelines/image-generation.yml @@ -28,25 +28,24 @@ jobs: SourceFolder: 'images/macos/provision/log/' RemoveSourceFolder: true - - pwsh: | - $(build.sourcesDirectory)/images.CI/macos/build-image.ps1 -Image "${{ parameters.image_name }}" ` - -VcenterServer "$(vcenter_server_v2)" ` - -VcenterUsername "$(vcenter_username_v2)" ` - -VcenterPassword "$(vcenter_password_v2)" ` - -VcenterDatacenter "$(vcenter_datacenter_v2)" ` - -EsxiCluster "$(esxi_cluster_v2)" ` - -TargetDatastore "${{ parameters.target_datastore }}" ` - -OutputFolder "mms-output" ` - -VmUsername "$(vm_username)" ` - -VmPassword "$(vm_password)" ` - -BuildId "$(Build.BuildNumber)" ` - -BaseImageName "${{ parameters.base_image_name }}" ` - -AzureStorageSas "$(AZURE_STORAGE_SAS)" ` - -AzureStorageAccount "$(AZURE_STORAGE_ACCOUNT)" ` - -BuildAssetsUrl "$(appcenter_build_assets_url)" ` - -GithubFeedToken "$(GITHUB_FEED_TOKEN)" ` - -XcodeInstallationUser "$(xcode-installation-user)" ` - -XcodeInstallationPassword "$(xcode-installation-password)" + - bash: | + packer build -on-error=abort \ + -var="vcenter_server=$(vcenter_server_v2)" \ + -var="vcenter_username=$(vcenter_username_v2)" \ + -var="vcenter_password=$(vcenter_password_v2)" \ + -var="vcenter_datacenter=$(vcenter_datacenter_v2)" \ + -var="cluster_or_esxi_host=$(esxi_cluster_v2)" \ + -var="esxi_datastore=${{ parameters.target_datastore }}" \ + -var="output_folder=mms-output" \ + -var="vm_username=$(vm_username)" \ + -var="vm_password=$(vm_password)" \ + -var="build_id=$(Build.BuildNumber)" \ + -var="baseimage_name=${{ parameters.base_image_name }}" \ + -var="github_feed_token=$(GITHUB_FEED_TOKEN)" \ + -var="xcode_install_user=$(xcode-installation-user)" \ + -var="xcode_install_password=$(xcode-installation-password)" \ + -color=false \ + ${{ parameters.template_path }} displayName: 'Build VM' env: PACKER_LOG: 0 @@ -54,10 +53,10 @@ jobs: - bash: | echo "Copy image output files" - cp -R "image-generation/image-output/software-report/." "$(Build.ArtifactStagingDirectory)/" + cp -R "images/image-output/software-report/." "$(Build.ArtifactStagingDirectory)/" echo "Copy test results" - cp -R "image-generation/image-output/tests/." "$(Common.TestResultsDirectory)/" + cp -R "images/image-output/tests/." "$(Common.TestResultsDirectory)/" ls $(Common.TestResultsDirectory) echo "Put VM name to 'VM_Done_Name' file" diff --git a/images.CI/macos/azure-pipelines/macos1013.yml b/images.CI/macos/azure-pipelines/macos1013.yml index 2dfeffde..d214bccf 100644 --- a/images.CI/macos/azure-pipelines/macos1013.yml +++ b/images.CI/macos/azure-pipelines/macos1013.yml @@ -18,5 +18,5 @@ jobs: parameters: image_label: 'macOS High Sierra' base_image_name: 'clean-macOS-10.13.6-380Gb-SIPoff_runner' - image_name: 'macOS-10.13' + template_path: 'templates/macOS-10.13.json' target_datastore: 'ds-image' diff --git a/images.CI/macos/azure-pipelines/macos1014.yml b/images.CI/macos/azure-pipelines/macos1014.yml index 521f7abf..9ee818eb 100644 --- a/images.CI/macos/azure-pipelines/macos1014.yml +++ b/images.CI/macos/azure-pipelines/macos1014.yml @@ -18,5 +18,5 @@ jobs: parameters: image_label: 'macOS Mojave' base_image_name: 'clean-macOS-10.14-380Gb_runner' - image_name: 'macOS-10.14' + template_path: 'templates/macOS-10.14.json' target_datastore: 'ds-image' diff --git a/images.CI/macos/azure-pipelines/macos1015.yml b/images.CI/macos/azure-pipelines/macos1015.yml index eea21f4e..967f741b 100644 --- a/images.CI/macos/azure-pipelines/macos1015.yml +++ b/images.CI/macos/azure-pipelines/macos1015.yml @@ -18,5 +18,5 @@ jobs: parameters: image_label: 'macOS Catalina' base_image_name: 'clean-macOS-10.15-380Gb-runner' - image_name: 'macOS-10.15' + template_path: 'templates/macOS-10.15.json' target_datastore: 'ds-image' diff --git a/images.CI/macos/azure-pipelines/macos110.yml b/images.CI/macos/azure-pipelines/macos110.yml new file mode 100644 index 00000000..7a786427 --- /dev/null +++ b/images.CI/macos/azure-pipelines/macos110.yml @@ -0,0 +1,22 @@ +schedules: +- cron: "0 0 * * *" + displayName: Daily + branches: + include: + - main + always: true + +trigger: none +pr: + autoCancel: true + branches: + include: + - main + +jobs: +- template: image-generation-job.yml + parameters: + image_label: 'macOS Big Sur' + base_image_name: 'clean-macOS-11.0-380Gb-runner' + template_path: 'templates/macOS-11.0.json' + target_datastore: 'ds-image' diff --git a/images.CI/macos/build-image.ps1 b/images.CI/macos/build-image.ps1 deleted file mode 100644 index 1e462f9d..00000000 --- a/images.CI/macos/build-image.ps1 +++ /dev/null @@ -1,55 +0,0 @@ -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 \ No newline at end of file