ansible - 使用 ansible 从私有 github 项目下载最新版本的二进制文件
问题描述
我的 github 版本附加了二进制文件。存储库是私有的。我可以使用以下命令下载带有 curl 的二进制文件
curl -O \
--url https://github.com/myproject/releases/download/main-db24b21d/binary \
--header 'Authorization: Basic <token>'
我很想通过调整 Stackoverflow 中提出的非常相似的问题来在 ansible 中做同样的事情。但是,我无法get_url
下载二进制文件。我在ansible中有以下部分
- name: Download binary from Github
get_url:
url: "https://github.com/myproject/releases/download/main-db24b21d/binary"
dest: "/home/user/server"
force_basic_auth: yes
username: <username>
password: <password>
我也试过
- name: Download binary from Github
get_url:
url: "https://github.com/myproject/releases/download/main-db24b21d/binary"
dest: "/home/user/server"
headers:
Authorization: <token>
我可以get_url
在存储库公开时使用下载。谁能指出我错过了什么?
解决方案
所以我使用browser_download_url,它适用于curl但它不适用于get_url我不知道为什么,我检查了Github api文档并尝试通过assets enpoint获取二进制文件,看起来它
- name: downloading binary
get_url:
url: "https://api.github.com/repos/{owner}/{project}/releases/assets/{id} "
dest: "/home/build"
username: ""
password: ""
force_basic_auth: yes
headers:
accept: "application/octet-stream"
tags:
- api_
推荐阅读
- java - 在 ubuntu 中检查 java 版本的权限被拒绝
- xml - 将 XML 节点添加到 scala 中的文档命名空间感知
- html - Bootstrap 调整我的原始图像的大小 - 我希望它保持原来的样子
- symfony - 为什么在 symfony 中弃用了 500 大错误代码?
- java - 从字符串中获取第二大数字的函数
- r - R:将 ggplot2 对象保存在 .Rds 文件中以读取到不同的环境中
- video - 我无法将此视频文件 (mp4) 上传到 Twitter
- python - 为什么保存 keras 模型后类名会更改?
- certificate - yarn pngquant & libpng 自签名证书错误
- javascript - 禁用 VS Code javascript 检查