如何计算Azure DevOps服务器中的Azure总工件大小?

问题描述

我正在计划将Azure DevOps服务器迁移到云中的Azure DevOps。

我正在尝试确定所需的Azure工件的总大小,以便我可以计算出迁移到云版本的成本。

但是我正在努力确定我们当前等效的天蓝色人工制品的总大小。

注意:我的意思不是建造假象大小,而是指天蓝色的假象大小

enter image description here

您知道在Azure Devops Server中确定这一点的方法吗?

谢谢

解决方法

Build构件所需的存储与Azure构件所需的存储之间存在差异。

天蓝色文物

Azure Artifacts是一项服务,您可以在其中创建软件包供稿,以发布和使用Maven,npm,NuGet,Python和通用软件包。 Azure Artifacts是按使用量计费的,并且免费使用直到2 GB的存储空间。如果您的组织需要更多存储空间,则需要设置帐单。

来源:Start using Azure Artifacts

构建工件

或者您可以使用构建工件和管道工件来帮助在构建步骤之间存储构建输出和中间文件。然后,您可以添加,构建,测试甚至部署这些工件。

现在,这个答案最重要的部分是:

问:哪些工件可以计入我的总账单存储空间?
答:目前,以下费用已计入Azure Artifacts的帐单费用:

  • 所有软件包(npm,NuGet,Python,Maven和通用软件包),包括从上游源存储的那些软件包
  • 所有符号

Azure神器没有向您收取存储管道神器,构建神器和管道缓存的费用。

请参见Start using Azure Artifacts FAQ

,

请在您的集合中执行以下查询:

SELECT CASE WHEN Container = 'vstfs:///Buil' THEN 'Build'
WHEN Container = 'vstfs:///Git/' THEN 'Git'
WHEN Container = 'vstfs:///Dist' THEN 'DistributedTask'
ELSE Container 
END AS FileContainerOwner,SUM(fm.CompressedLength) / 1024.0 / 1024.0 AS TotalSizeInMB
FROM (SELECT DISTINCT LEFT(c.ArtifactUri,13) AS Container,fr.ResourceId,ci.PartitionId
FROM tbl_Container c
INNER JOIN tbl_ContainerItem ci
ON c.ContainerId = ci.ContainerId
AND c.PartitionId = ci.PartitionId
INNER JOIN tbl_FileReference fr
ON ci.fileId = fr.fileId
AND ci.DataspaceId = fr.DataspaceId
AND ci.PartitionId = fr.PartitionId) c
INNER JOIN tbl_FileMetadata fm
ON fm.ResourceId = c.ResourceId
AND fm.PartitionId = c.PartitionId
GROUP BY c.Container
ORDER BY TotalSizeInMB DESC

您将获得如下结果:

enter image description here

“构建”的值是该集合中的总构建伪影大小。