gitazure-devopscontinuous-integrationdevops

Reducing azure devops package storage


Background

The company I work for is considering moving to Azure Devops, we are doing some pilot projects and noticed that we already are over the free tier storage threshold for packages, which surpised us:

enter image description here

At least our own nugets typically really aren't that big (KBs, maybe low-end MBs), so it's quite unexpected that we are already hitting this.

What I have done

I have done manual cleanup of older nuget versions we've created, that's fine because we are still in pilot. I've also manually updated the recycle bin.

I have also reduced the retention policy: enter image description here

I suppose it is possible this isn't catching anything because we're still using our packages too actively.

The MS documentation states that it can take up to 24 or even 48 hours before you see the Used number drop. However, that window has passed and now there's also a weekend in between.

That seems to have had 0 effect.

The annoying thing is also that the artifacts overview doesn't mention package size, so I don't know which are taking up the most space.

External package artifacts

I see a lot of external packages referenced in our own feed:

According to a colleague that happens (by design) because we are using a private feed. It's supposed to not take up any space in our own feed, but I don't know this feature well enough to refute or confirm this.

Question

Ultimately we likely will move to a paid model, but as we are still trying things out we want to stay in free tier (unless we really use it enough for that to not make any sense).

What can I do to get the packages below 2 GiB again?


Answer update

Checking the storage as suggested by Bright Ran-MSFT's answer showed me that it's another project under the same organisation that is taking up most of the space.

That other project is mostly frontend related so I checked with my colleague. He investigated it and reported that this findings on private feed were incorrect. Packages were stored and charged.

He has done cleanup his side, which should bring us back within free tier (in a few days, worst case).


Solution

  • You can go to "Organization Settings" > "Artifacts" > "Storage" to check which feeds (include organization-scoped and project-scoped) have used how much storage.

    enter image description here

    enter image description here

    From above page, you can see which feed has large amounts of storage used. Then you can go to this feed to delete the unneeded packages.


    About the retention policies set in each feed, I noticed that you set:

    However, you need to know that any package versions that were downloaded within the last 30 days will be retained even if the number of the package versions is more than 5. For example, within the last 30 days, if there have 10 versions of a package were downloaded from the feed, all of the 10 versions (not only 5 versions) will be retained. For more details, see "Delete packages automatically with retention policies".

    If the subsequent new versions of a package contain the features and bug-fix from the previous old versions, it is recommended to update your projects to always use the latest version, and reduce/stop the use of the old versions so that the old versions can be deleted by the retention policies as expected.


    When you manually delete a package version, generally it will be moved to Recycle Bin and retained 30 days before it is permanently deleted. The package versions in Recycle Bin are still calculated as part of the used storage. You can go to Recycle Bin to manually the unneeded package versions permanently.