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.

  • run multiple instances in the same server
  • Load balance docker swarm
  • Can't see Docker daemon when invoking script through NodeJS?
  • Cannot validate certificate for ip because it doesn't contain any IP SANs
  • I lose my data when the container exits
  • Should you recreate containers when deploying web app?
  • 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)... 192.30.252.131, 192.30.252.131
    Connecting to github.com (github.com)|192.30.252.131|: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.

  • Running a bash script before startup in an NGINX docker container
  • Docker trusted build doesn't show up in search
  • Using env vars in a docker cmd?
  • Docker containers: services vs full applications
  • Running 2 sites on docker-nginx-php server
  • want to use the same host and port for ssh session
  • 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 tarball to zipball to get a zip file.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.