得到最新的校验和'神器

时间:2017-03-15 13:36:13

标签: powershell artifactory

我想从Artifactory中提取最新的软件包,但前提是它尚未下载。

我使用的是通用仓库,我正在使用PowerShell下载最新的软件包,例如。

Invoke-RestMethod -Uri "https://myArtifactoryUrl/artifactory/myrepo/folder/package/package-[RELEASE].zip" -Method Get -OutFile "C:\temp\package.zip" -Headers $Header

所以我想得到最新的'的校验和。文件并将其与本地文件进行比较,无需下载任何内容。如果不同,我会下载它。

我的问题是,我无法看到(在Artifactory API中)如何在回购中获取最新文件的校验和,仅在特定文件上?

包可能非常大,所以我想避免不必要的下载。

我注意到Artifactory CLI为你做了这个校验和比较,但它有点使用它(这是在云,公司网络,对于Windows上的木偶模块)。我宁愿在PS中这样做

任何操纵者都会非常感激。我不认为这应该特别困难,但也许这不是最好的方法吗?

1 个答案:

答案 0 :(得分:3)

您可以做的是发送HEAD请求,这样您实际上并没有下载文件。在响应中获取文件名后,您可以查询Artifactory以获取校验和并进行比较。 此外,在运行搜索最新工件时,您会收到以下标题:

服务器:Artifactory / 4.13.0

X-Artifactory-Id:27e2ee2e1ade8482:-7fa4c4b5:15ad2daab10:-8000

最后修改时间:2017年3月15日星期三16:44:59 GMT

ETag:10d759d4a8a297bf5e28a6fc7eaf4b969d78a098

X-Checksum-Sha1:10d759d4a8a297bf5e28a6fc7eaf4b969d78a098

Accept-Ranges:bytes

X-Checksum-Md5:e30227b29222ec6f007524d91829878a

X-Artifactory-Filename:multi2-3.5-20170315.164450-2.jar

内容 - 处置:附件;

文件名= “multi2-3.5-20170315.164450-2.jar”;

文件名* = UTF-8''multi2-3.5-20170315.164450-2.jar

Content-Type:application / java-archive

内容长度:1022

日期:2017年3月15日星期三16:45:26 GMT

这有帮助吗?