我有一个回购协议,里面有我需要的二进制文件。
我可以
git checkout tags/thetagoftherelease
它似乎签出了正确的标记,但没有下拉二进制文件。如何下拉添加到版本的二进制文件(版本上的绿色框)?
在发行版中添加了二进制文件的图片。
这是一个迷你脚本下载资产知道它的文件名(可以很容易地修改下载其他资产:
asseturl=$(curl -H "Authorization: token ${token}" https://api.github.com/repos/${repo}/releases/${releaseid}/assets | jq ".[] | select(.name==\"${filename}\") | .url")
curl -L -H "Authorization: token ${token}" -H "Accept:application/octet-stream" $(echo $asseturl | tr -d '"') > ${filename}
$token
是github的访问令牌$filename
是资产的文件名$releaseid
是存储二进制文件的releaseid二进制发布资产存在于Git之外,无法使用标准工具进行管理。
不过,它们应该可以通过GitHub的API获得。
>
列出存储库的发布资产:
GET /repos/:owner/:repo/releases/:id/assets
这将发回一个JSON文档,列出存储库的发布资产,例如。
[
{
"url": "https://api.github.com/repos/octocat/Hello-World/releases/assets/1",
"browser_download_url": "https://github.com/octocat/Hello-World/releases/download/v1.0.0/example.zip",
"id": 1,
"name": "example.zip",
"label": "short description",
"state": "uploaded",
"content_type": "application/zip",
"size": 1024,
"download_count": 42,
"created_at": "2013-02-27T19:35:32Z",
"updated_at": "2013-02-27T19:35:32Z",
"uploader": {
"login": "octocat",
...
}
}
]
根据上面的id
定义,从所需版本检索助理:
GET /repos/:owner/:repo/releases/assets/:id
如果要下载资产的二进制内容,请传递媒体类型“application/octet stream”
。API要么将客户端重定向到该位置,要么在可能的情况下将其直接流式传输。API客户端应处理200
或302
响应。
如文件所述,这些请求都与https://api.github.com
。
我已经尝试了好几天,试图找到正确的答案,最后我找到了如何通过curl命令来实现这一点。这是一个三步过程。
首先,要获取最新版本的资产列表:
curl -H "Authorization: token YOURGITHUBTOKEN" \
https://api.github.com/repos/NAME/REPO/releases/latest
然后在JSON中,查找所需资产的url。例如,它看起来像:
"url": "https://api.github.com/repos/NAME/REPO/releases/assets/1275759"
然后将其传递给另一个curl命令以检索实际的URL,它实际上是指向AmazonS3文件的链接。
curl -H "Authorization: token YOURGITHUBTOKEN" \
-H "Accept:application/octet-stream" \
-i https://api.github.com/repos/NAME/REPO/releases/assets/1275759
URL将在HTTP响应的“位置”字段中,然后使用curl像这样获取文件:
curl "https://github-cloud.s3.amazonaws.com...." -i -o FILENAME
问题内容: 我正在尝试使用以下方法下载此文件(http://github.com/downloads/TheHolyWaffle/ChampionHelper/ChampionHelper-4.jar),但似乎无法正常工作。我收到一个空文件/损坏的文件。 但是我可以使用相同的方法从我的保管箱(http://dl.dropbox.com/u/13226123/ChampionHelper-4.jar
我知道如何从GitHub版本中创建NPM依赖项: 但我给出了以下错误: 二进制版本资产存在于GitHub之外,并且正在使用AWS3。 URL正在重定向,状态为并且HTTP位置标头设置为 问题: 为什么NPM不遵循重定向? 为什么是? 有没有方法将NPM依赖项链接到GitHub发行版的二进制tarball?怎么做? 我的上下文和需要: 我有一个私人GitHub存储库 在“部署”(转换等)之前需要构建
问题内容: 我建立与工作流 Gitlab , 詹金斯 和-也许- 的Nexus (我需要一个工件存储装置)。我想让GitLab存储 发行版/二进制文件 -是否可以方便地进行? 我不想有另一个可以从中下载版本(和文档)的服务,但是希望以某种方式将其与存储库管理器集成在一起,就像在GitHub中处理版本一样。有什么线索吗? 问题答案: 2015年11月更新:GitLab 8.2现在支持发行版 。 借助
问题内容: 在C语言中,我们可以构建二进制文件(目标文件和可执行文件)的调试版本或发行版本。我们如何在Go中做到这一点? 问题答案: 在Go中,通常没有调试版本或发行版本。 默认情况下,将符号和调试信息与二进制文件结合在一起。但是,您可以使用删除符号并调试信息。
问题内容: 使用带有角的ResponseEntity下载任何文件不起作用 我需要在客户端使用angular下载文件,该文件可以具有pdf或excel或image或txt的任何格式…我的方法仅适用于txt文件,但给我excel和image的失败格式,对于pdf,它会给出一个空的pdf。 所以在我的控制器中,这里是调用service方法的函数: 而我的service.js具有: 我的服务方法是这样的:
我在android应用程序中使用OKHTTP客户端进行网络连接。 接受下面的回答。我修改过的代码: