Download Github build artifact (release) using wget/curl
The Goal: Download github release tar.gz in Docker Build Script, so that the release files can be used for the docker image. I do not want the full source downloaded, which I can get to download through the archive path using the tag, but rather a build artifact that is part of the release.
To Be Noted: This is a download from a private repository, which is why I’m attempting to send my github_token as part of the command currently.
The Problem: I’m having trouble downloading a github release tar.gz using wget.
wget --header="Authorization: token <GITHUB_TOKEN>" --output-document=<FILENAME>.tar.gz https://github.com/<USER>/<REPO>/releases/download/<TAG>/<FILENAME>.tar.gz
This is returning the following error:
--2014-12-02 16:19:25-- https://github.com/<USER>/<REPO>/releases/download/<TAG>/<FILENAME>.tar.gz Resolving github.com (github.com)... 184.108.40.206, 220.127.116.11 Connecting to github.com (github.com)|18.104.22.168|:443... connected. HTTP request sent, awaiting response... 404 Not Found 2014-12-02 16:19:25 ERROR 404: Not Found.
It’s worth noting that I’m not opposed to using curl for the download either or some other solution if necessary.
One Solution collect form web for “Download Github build artifact (release) using wget/curl”
You can use the GitHub API.
To download a release using wget, you can do:
wget --header "Authorization: token <GITHUB TOKEN>" --output-document=<RELEASE>.tar.gz https://api.github.com/repos/<USER>/<REPO>/tarball/<RELEASE NAME>
Use can change
zipball to get a zip file.