Preface
This blog post assumes:
- The user is familiar with:
- The user has an account with:
For those unfamiliar with the above, here are some resources
Introduction
I prefer using Quay.io as my container registry instead of Dockerhub, and as such, I had to learn how setup Travis to push to quay.io. This is something I hadn’t done before, as I’ve only recently started making my own container images.
Step One: fork the tutorial repo
I’ve setup a repo on github that I’ll be using as a guide for this tutorial, it
can be found here. All
you need to do is press the Fork
button:
This will make a copy of my repo for you to use with your account. The next step is to clone this repo:
git clone [email protected]:AdrianKoshka/travis-quay-tutorial.git
You can find the URL to clone from when you press the Clone or download
button.
Step Two: Initial repo setup
You’ll need to edit the .travis.yml
and docker_push
files in your repo,
replacing [yourusername]
with the username of your quay account.
Step Three: Creating the quay repository
When signed into quay, in the upper right-hand corner, you’ll see a
+ Create New Repository
button. Click the button,
You’ll want to select Public
instead of Private
, and enter the repository name.
Then click Create Public Repository
. You’ve now created the empty repository
we’ll be pushing our container image to later.
Step Four: Creating the “Robot Account”
Robot accounts are “accounts” in quay.io under your user used for automated tasks.
Again, in the upper right-hand corner, you’ll see the +
button, click it, then
click New Robot Account
.
You’ll need to enter a name and description for the bot:
Press Create Robot Account
, now you’ll have to give the robot write
permissions to the repo you just created:
Then press Add Permissions
. You’ll be taken to your robot account settings
page now.
Click the username of your newly created bot, it should bring up a window with your bots username and password.
We’ll need these creds later.
Step Five: Adding variables to your repo on travis
On Travis, go to your settings and click the sync account
button. In the list
of repositories should be your travis-quay-tutorial
repo you forked earlier,
activate it, and click on the settings
button.
Scroll down to the section named Environment Variables
, and add a variable
name QUAY_BOT_USERNAME
, put the username of your robot account that you saw
in the previous section, you should be able to copy-paste it.
Press the Add
button. Add another variable called QUAY_BOT_PASSWORD
and
enter your bots password.
Your Environment Variables
section should look like this now:
Step Six: Committing the changes from step two
Now that you’ve set everything else up, you can commit your changes to
.travis.yml
and docker_push
, then push your changes to your fork. This
should trigger a build with travis, which will build the container, and then
push it to the quay repository.