We do lots of testing and building with operating system images in Azure Shared Image Gallery. In a short period of time the number of image versions in Azure Image Gallery increases dramatically because of the iterative approach of testing and optimizing the golden images.
From time to time we need to clean up those image versions to save storage costs.
Usually cleaning up is part of an automated process in a CI/CD pipeline run.
In bash scripts we often use azure cli command-line tool to fire off the task.
Before firing off the script make sure to use az login
to login to Azure on the command line.
#!/bin/bash
# this script deletes all gallery image versions
# of a gallery image definition
gallery-image-definition=iar-windows-11
gallery-name=sig_iar
resource-group=rg_iar_sig
for i in `az sig image-version list \
--gallery-image-definition $gallery-image-definition \
--gallery-name $gallery-name \
--resource-group $resource-group \
-o tsv \
--query '[].name'`
do
echo "purging image-versions: $i" && \
$(az sig image-version delete \
--gallery-image-definition $gallery-image-definition \
--gallery-image-version $i \
--gallery-name $gallery-name \
--resource-group $resource-group)
done