Skip to content

Instantly share code, notes, and snippets.

@witokondoria
Created May 12, 2017 12:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save witokondoria/f2aa99f0f53d73bb116684b98b32bf03 to your computer and use it in GitHub Desktop.
Save witokondoria/f2aa99f0f53d73bb116684b98b32bf03 to your computer and use it in GitHub Desktop.
wiping nexus3 docker images
import org.sonatype.nexus.repository.storage.StorageFacet
def dockerRepository = repository.repositoryManager.get('docker-staging')
def dockerBlobStore = blobStore.blobStoreManager.get(dockerRepository.configuration.attributes.storage.blobStoreName)
def storageTx = dockerRepository.facet(StorageFacet.class).txSupplier().get()
try {
storageTx.begin()
dockerRepository.stop()
def bucket = storageTx.findBucket(dockerRepository)
def images = storageTx.browseComponents(bucket).asCollection().asImmutable()
log.info("Nexus Components - Docker Images: ${images.size()}")
images.forEach { component ->
storageTx.deleteComponent(component)
}
storageTx.browseAssets(bucket).forEach { asset ->
storageTx.deleteAsset(asset)
}
storageTx.commit()
dockerBlobStore.compact()
} finally {
dockerRepository.start()
storageTx.close()
log.info("Dangling cleanup done")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment