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.
![](https://iamroot.it/wp-content/uploads/2022/01/azure_sig_2022-01-22_15-42-1024x496.png)
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