Skip to content

Commit

Permalink
Win11 & SQL 2022 on Win2025 (#2316)
Browse files Browse the repository at this point in the history
- Win11 24h2 preview build
- Using n2d for Win11 22h2-24h2 and support OS level machine family decision
- SQL 2022 on Windows Server 2025 Preview
  • Loading branch information
bkatyl committed May 15, 2024
1 parent 917d24f commit c7f927b
Show file tree
Hide file tree
Showing 15 changed files with 922 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{{/*
Template to publish SQL Server Windows images
By default this template is setup to publish to the 'gce-image-builder'
project, the 'environment' variable can be used to publish to 'test', 'prod',
or 'staging'.
DeleteAfter is set to 180 days for all environments other than prod where no
time period is set.
*/}}
{
"Name": "sql-server-windows-uefi",
"SourceGCSPath": "gs://gce-image-archive/sqlserver-uefi",
{{$work_project := `"gce-image-builder"` -}}
{{$endpoint := `"https://www.googleapis.com/compute/alpha/projects/"` -}}
{{$delete_after := `"24h*30*6"` -}}
{{if eq .environment "test" -}}
"WorkProject": {{$work_project}},
"PublishProject": "bct-prod-images",
"ComputeEndpoint": {{$endpoint}},
"DeleteAfter": {{$delete_after}},
{{- else if eq .environment "prod" -}}
"WorkProject": {{$work_project}},
"PublishProject": "windows-sql-cloud",
"ComputeEndpoint": {{$endpoint}},
{{- else if eq .environment "staging" -}}
"WorkProject": "bct-staging-images",
"PublishProject": "bct-staging-images",
"ComputeEndpoint": "https://www.googleapis.com/compute/staging_alpha/projects/",
"DeleteAfter": {{$delete_after}},
{{- else -}}
"WorkProject": {{$work_project}},
"PublishProject": {{$work_project}},
"ComputeEndpoint": {{$endpoint}},
"DeleteAfter": {{$delete_after}},
{{- end}}
{{$guest_features := `["MULTI_IP_SUBNET","UEFI_COMPATIBLE","VIRTIO_SCSI_MULTIQUEUE","GVNIC","WINDOWS"]` -}}
{{$time := trimPrefix .publish_version "v"}}
"Images": [
{
"Prefix": "sql-2022-enterprise-windows-2025-dc",
"Family": "sql-ent-2022-win-2025",
"Description": "Microsoft, SQL Server 2022 Enterprise, on Windows Server 2025 Preview Datacenter, x64 built on {{$time}}",
"Architecture": "X86_64",
"Licenses": [
{{if eq .environment "staging" -}}
"projects/bct-staging-functional/global/licenses/sql-server-2022-enterprise",
"projects/bct-staging-functional/global/licenses/windows-server-2025-dc"
{{- else -}}
"projects/windows-sql-cloud/global/licenses/sql-server-2022-enterprise",
"projects/windows-cloud/global/licenses/windows-server-2025-dc"
{{- end}}
],
"GuestOsFeatures": {{$guest_features}}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
{
"Name": "sql-2022-enterprise-windows-2025-dc",
"Project": "gce-image-builder",
"Zone": "us-central1-b",
"GCSPath": "gs://gce-image-build-bucket/daisy/${USERNAME}",
"Vars": {
"build_date": {
"Value": "${TIMESTAMP}",
"Description": "Build datestamp used to version the image."
},
"gcs_url": {
"Required": true,
"Description": "The GCS url that the image raw file exported to."
},
"sbom_destination": {
"Value": "${OUTSPATH}/export-image.sbom.json",
"Description": "The GCS url that the sbom file exported to."
},
"workflow_root": {
"Value": "/workflows",
"Description": "Root of github workflows, defaults to /workflows in the container."
},
"install_disk": "disk-install",
"publish_project": "${PROJECT}",
"sql_server_media": {
"Required": true,
"Description": "GCS or local path to the SQL Server installer media"
},
"source_image_project": {
"Value": "windows-cloud",
"Description": "Project to source base image from."
},
"ssms_exe": {
"Required": true,
"Description": "GCS or local path to SSMS installer"
},
"timeout": {
"Value": "4h",
"Description": "The timeout to set for the image build."
},
"sbom_util_gcs_root": {
"Value": "",
"Description": "The root gcs bucket for sbomutil, if using sbomutil to generate the SBOM."
}
},
"Steps": {
"build": {
"Timeout": "${timeout}",
"IncludeWorkflow": {
"Path": "${workflow_root}/image_build/sqlserver/sql-2022-enterprise-windows-2025-dc.wf.json",
"Vars": {
"build_date": "${TIMESTAMP}",
"install_disk": "disk-install",
"publish_project": "${publish_project}",
"sql_server_media": "${sql_server_media}",
"source_image_project": "${source_image_project}",
"ssms_exe": "${ssms_exe}",
"timeout": "${timeout}",
"sbom_destination": "${sbom_destination}",
"sbom_util_gcs_root": "${sbom_util_gcs_root}"
}
}
},
"sqlserver-export": {
"Timeout": "60m",
"IncludeWorkflow": {
"Path": "${workflow_root}/export/disk_export.wf.json",
"Vars": {
"source_disk": "${install_disk}",
"destination": "${gcs_url}",
"existing_sbom_file_name": "${sbom_destination}",
"sbom_already_generated": "true"
}
}
}
},
"Dependencies": {
"sqlserver-export": [
"build"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{{/*
Template to publish SQL Server Windows images
By default this template is setup to publish to the 'gce-image-builder'
project, the 'environment' variable can be used to publish to 'test', 'prod',
or 'staging'.
DeleteAfter is set to 180 days for all environments other than prod where no
time period is set.
*/}}
{
"Name": "sql-server-windows-uefi",
"SourceGCSPath": "gs://gce-image-archive/sqlserver-uefi",
{{$work_project := `"gce-image-builder"` -}}
{{$endpoint := `"https://www.googleapis.com/compute/alpha/projects/"` -}}
{{$delete_after := `"24h*30*6"` -}}
{{if eq .environment "test" -}}
"WorkProject": {{$work_project}},
"PublishProject": "bct-prod-images",
"ComputeEndpoint": {{$endpoint}},
"DeleteAfter": {{$delete_after}},
{{- else if eq .environment "prod" -}}
"WorkProject": {{$work_project}},
"PublishProject": "windows-sql-cloud",
"ComputeEndpoint": {{$endpoint}},
{{- else if eq .environment "staging" -}}
"WorkProject": "bct-staging-images",
"PublishProject": "bct-staging-images",
"ComputeEndpoint": "https://www.googleapis.com/compute/staging_alpha/projects/",
"DeleteAfter": {{$delete_after}},
{{- else -}}
"WorkProject": {{$work_project}},
"PublishProject": {{$work_project}},
"ComputeEndpoint": {{$endpoint}},
"DeleteAfter": {{$delete_after}},
{{- end}}
{{$guest_features := `["MULTI_IP_SUBNET","UEFI_COMPATIBLE","VIRTIO_SCSI_MULTIQUEUE","GVNIC","WINDOWS"]` -}}
{{$time := trimPrefix .publish_version "v"}}
"Images": [
{
"Prefix": "sql-2022-standard-windows-2025-dc",
"Family": "sql-std-2022-win-2022",
"Description": "Microsoft, SQL Server 2022 Standard, on Windows Server 2025 Preview Datacenter, x64 built on {{$time}}",
"Architecture": "X86_64",
"Licenses": [
{{if eq .environment "staging" -}}
"projects/bct-staging-functional/global/licenses/sql-server-2022-standard",
"projects/bct-staging-functional/global/licenses/windows-server-2025-dc"
{{- else -}}
"projects/windows-sql-cloud/global/licenses/sql-server-2022-standard",
"projects/windows-cloud/global/licenses/windows-server-2025-dc"
{{- end}}
],
"GuestOsFeatures": {{$guest_features}}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
{
"Name": "sql-2022-standard-windows-2025-dc",
"Project": "gce-image-builder",
"Zone": "us-central1-b",
"GCSPath": "gs://gce-image-build-bucket/daisy/${USERNAME}",
"Vars": {
"build_date": {
"Value": "${TIMESTAMP}",
"Description": "Build datestamp used to version the image."
},
"gcs_url": {
"Required": true,
"Description": "The GCS url that the image raw file exported to."
},
"sbom_destination": {
"Value": "${OUTSPATH}/export-image.sbom.json",
"Description": "The GCS url that the sbom file exported to."
},
"workflow_root": {
"Value": "/workflows",
"Description": "Root of github workflows, defaults to /workflows in the container."
},
"install_disk": "disk-install",
"publish_project": "${PROJECT}",
"sql_server_media": {
"Required": true,
"Description": "GCS or local path to the SQL Server installer media"
},
"source_image_project": {
"Value": "windows-cloud",
"Description": "Project to source base image from."
},
"ssms_exe": {
"Required": true,
"Description": "GCS or local path to SSMS installer"
},
"timeout": {
"Value": "4h",
"Description": "The timeout to set for the image build."
},
"sbom_util_gcs_root": {
"Value": "",
"Description": "The root gcs bucket for sbomutil, if using sbomutil to generate the SBOM."
}
},
"Steps": {
"build": {
"Timeout": "${timeout}",
"IncludeWorkflow": {
"Path": "${workflow_root}/image_build/sqlserver/sql-2022-standard-windows-2025-dc.wf.json",
"Vars": {
"build_date": "${TIMESTAMP}",
"install_disk": "disk-install",
"publish_project": "${publish_project}",
"sql_server_media": "${sql_server_media}",
"source_image_project": "${source_image_project}",
"ssms_exe": "${ssms_exe}",
"timeout": "${timeout}",
"sbom_destination": "${sbom_destination}",
"sbom_util_gcs_root": "${sbom_util_gcs_root}"
}
}
},
"sqlserver-export": {
"Timeout": "60m",
"IncludeWorkflow": {
"Path": "${workflow_root}/export/disk_export.wf.json",
"Vars": {
"source_disk": "${install_disk}",
"destination": "${gcs_url}",
"existing_sbom_file_name": "${sbom_destination}",
"sbom_already_generated": "true"
}
}
}
},
"Dependencies": {
"sqlserver-export": [
"build"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{{/*
Template to publish SQL Server Windows images
By default this template is setup to publish to the 'gce-image-builder'
project, the 'environment' variable can be used to publish to 'test', 'prod',
or 'staging'.
DeleteAfter is set to 180 days for all environments other than prod where no
time period is set.
*/}}
{
"Name": "sql-server-windows-uefi",
"SourceGCSPath": "gs://gce-image-archive/sqlserver-uefi",
{{$work_project := `"gce-image-builder"` -}}
{{$endpoint := `"https://www.googleapis.com/compute/alpha/projects/"` -}}
{{$delete_after := `"24h*30*6"` -}}
{{if eq .environment "test" -}}
"WorkProject": {{$work_project}},
"PublishProject": "bct-prod-images",
"ComputeEndpoint": {{$endpoint}},
"DeleteAfter": {{$delete_after}},
{{- else if eq .environment "prod" -}}
"WorkProject": {{$work_project}},
"PublishProject": "windows-sql-cloud",
"ComputeEndpoint": {{$endpoint}},
{{- else if eq .environment "staging" -}}
"WorkProject": "bct-staging-images",
"PublishProject": "bct-staging-images",
"ComputeEndpoint": "https://www.googleapis.com/compute/staging_alpha/projects/",
"DeleteAfter": {{$delete_after}},
{{- else -}}
"WorkProject": {{$work_project}},
"PublishProject": {{$work_project}},
"ComputeEndpoint": {{$endpoint}},
"DeleteAfter": {{$delete_after}},
{{- end}}
{{$guest_features := `["MULTI_IP_SUBNET","UEFI_COMPATIBLE","VIRTIO_SCSI_MULTIQUEUE","GVNIC","WINDOWS"]` -}}
{{$time := trimPrefix .publish_version "v"}}
"Images": [
{
"Prefix": "sql-2022-web-windows-2025-dc",
"Family": "sql-web-2022-win-2025",
"Description": "Microsoft, SQL Server 2022 Web, on Windows Server 2025 Preview Datacenter, x64 built on {{$time}}",
"Architecture": "X86_64",
"Licenses": [
{{if eq .environment "staging" -}}
"projects/bct-staging-functional/global/licenses/sql-server-2022-web",
"projects/bct-staging-functional/global/licenses/windows-server-2025-dc"
{{- else -}}
"projects/windows-sql-cloud/global/licenses/sql-server-2022-web",
"projects/windows-cloud/global/licenses/windows-server-2025-dc"
{{- end}}
],
"GuestOsFeatures": {{$guest_features}}
}
]
}

0 comments on commit c7f927b

Please sign in to comment.