是否可以在不知道全名的情况下下载文件?

是否可以在不知道全名的情况下下载文件?

很抱歉问这个可能是菜鸟问题。

我是 GitHub 和 DevOps 环境的新手,我的任务是自动化一些东西。我在 GitHub 上发现了一个仍在维护的项目,并且将来会收到新版本。

我想构建一个管道,在其中我需要从 GitHub 下载适合我的特定环境的最新 exe 版本。

目前,他们的 git 存储库中的 /releases/vX.yz 下有发布包(其中 X、y 和 z 是发布版本),其中包含多个包,名称如下:

ETC。

考虑到版本会及时更改,有什么方法可以通过使用某种模式来获取特定的包吗?

庆幸的是链接:https://github.com/some-example-repo/releases/latest重定向到最新发布的版本,所以我在想类似的事情:

wget https://github.com/some-example-repo/download/*????/package.V???*-linux-arm64.tar.gz

想一想,既然我已经把这个作为一个问题了,我认为 wget 不可能自动完成 URL...

答案1

如果您确实想始终下载最新版本,则应该使用GitHub API 用于此目的

curl https://api.github.com/repos/$USER/$REPO/releases/latest

这将返回一个描述最新版本的 JSON 文档,包括所有工件;您可以使用过滤结果jq例如

| jq -r '.assets[].browser_download_url'

提取所有资源下载 URL。

然而在实践中,始终下载最新版本通常是个坏主意,因为任何重大更改都可能会破坏您的 CI。您应该下载特定版本并根据需要手动升级(也许可以自动测试新版本并建议相应的 PR)。

相关内容