I wanted to add a short post to describe how to automate the downloading of releases from private github repositories using a bash script or in a Docker build.
To start you need to create a Github token that has access to your repository. Once you have your token you can use the following bash script filling in the relevant details:
This script will download your release to the
/tmp/ directory, from there you can untar and move it etc.
To take this a stage further if you want to download your release as part of a docker build you can use the
Dockerfile snippet below to give you a starting point:
The trick here is that we are passing in the GITHUB_TOKEN using a docker build arg. This allows you to build the container using travis by setting a secure ENV variable and then passing that into your docker build script as the docker arg parameter. For example:
In the script above we check that the GITHUB_TOKEN env variable is set and if it isn’t then we terminate with a non zero exit code, halting the build. This then allows developers to run the build with their own GITHUB_TOKEN and you can run this build on travis by setting a secure env variable (or the equivalent in the builder server you are using).