Wojtek @suda Siudzinski

Python/Node/Golang/Rust developer, DIY hacker, rookie designer, 3D print junkie. CEO @ Gaia Charge

Build, tag and push Docker images using Travis CI

Docker Hub has Automated Builds capability to automatically build an image when you push changes to repository. It does its job perfectly. But sometimes you need more control over this process like tagging or triggering build of dependent images. You can do this by using Travis CI and adding following .travis.yaml file in your repository:

sudo: required  
  - docker
  - docker login --email=$DOCKER_HUB_EMAIL --username=$DOCKER_HUB_USERNAME --password=$DOCKER_HUB_PASSWORD

  - docker build -t $DOCKER_IMAGE_NAME .
  - if [ ! -z "$TRAVIS_TAG" ]; then docker tag $DOCKER_IMAGE_NAME:latest $DOCKER_IMAGE_NAME:$TRAVIS_TAG; fi && docker push $DOCKER_IMAGE_NAME

  - DOCKER_IMAGE_NAME=suda/my-image

Next you have to add three environment variables to your Travis CI repository settings: DOCKER_HUB_EMAIL, DOCKER_HUB_USERNAME and DOCKER_HUB_PASSWORD which are your Docker Hub credentials.

After this, every time you push new code it will build an image and if you tag a commit this image will be tagged in Docker Hub too.

comments powered by Disqus