The Shippable Blog

Docker image creation, tagging and traceability in Shippable

By now, you've almost surely heard about Docker. Here at Shippable, we've been using Docker and containers for almost two years now and the benefits to how we manage our software delivery and deployment process are impressive. So impressive, in fact, that we're convinced it will revolutionize how all companies do it, making the current DevOps practices obsolete faster than many predict. 

Ultimately, the goal is to deliver value that's derived from software into customers' hands as soon as possible. With Docker images, many of the challenges faced within traditional DevOps approaches are overcome as the creation and deployment of immutable images becomes the new way to deliver software.

The latest features from Shippable make this within reach for any software delivery team as we make it easy for you to create Docker images, push them to your registry of choice, then deploy them without the use of separate DevOps tools or code.  

However, in order to effectively take advantage of immutable Docker images and avoid image chaos, you must have an effective strategy for managing your images. With Shippable, you do this within your CI/CD process flow by automatically creating and tagging your images, with full traceability from final image back to all of the elements used to create it.

QCon Adventure: Containers Ahoy

 

Shippable had a booth at the QCon conference in New York this year where I had the opportunity to reach out to people about our containerization process and DevOps philosophy. The East Coast megalopolis is an impressive display of human engineering. I've been there before but mostly only visited rural historic sites. This time I was in the busy downtown tech scene  ... and having a few adventures along the way. 

Monitor your upstream Docker image dependencies with Lighthouse

Have you ever wasted your time debugging a broken build only to realize a few frustrated hours later that it was due to something that changed in one of the images you depend on?

Lighthouse to your rescue!

Lighthouse is available to all Shippable users for free! Using this feature, you can 'watch' any public Docker image or any private image you have access to from any registry and get notified via email when that image is updated. 

Docker applications with Google Container Registry and Shippable

     

We are very excited to announce support for Google Container Registry (GCR) integration with Shippable’s CI/CD cloud platform!

Our support for building and deploying Docker-based applications combined with Google's new private registry service make this a fantastic combination for anyone looking to accelerate their Docker development efforts.  

Many of you already use our custom workflows for Docker applications that let you quickly move from committing code changes to having validated Docker images ready to deploy.  With Google Container Registry (GCR), you can now manage those Docker images with secure, private Docker image storage on Google Cloud Platform, known for consistent uptime and security.  Additionally, GCR provides additional benefits we think you will like, such as fine grained access control, server-side encryption of images, and super fast deployment to Google Container Engine and Google Compute Engine.  Once stored in GCR, you can easily access the images from any machine for use in a variety of scenarios, including deploying to Google Compute Engine (GCE) via Google Container Engine (GKE), deploying to AWS, or pulling to local machines using the Docker command line interface.

Via this integration, we have enabled the following activities with GCR:

  • Pull private images stored on GCR to use as basis for a continuous integration (CI) run

  • Push an image to GCR resulting from a successful CI run (i.e. after building and testing a source code change)

  • Pull a private image stored on GCR to use as the base image for a Dockerfile build

The above options are available on all Shippable plans at no additional charge.

Containerized Microservices with Docker & NodeJS

 

Your application has been chugging along nicely when suddenly it grinds to a halt, again! After debugging thousands of lines of code you finally found the one tiny piece that caused it, but you have to reinitialize your whole service to fix it. How can you avoid this painful process every time your application inevitably breaks? By smashing it into pieces, and then letting each piece do its own thing! Thus your monolithic application becomes a series of interchangeable and easily manageable microservices.

MicroService

Shippable is evolving constantly to help developers ship code faster by building the best continuous integration and delivery platform. The newest improvement to our infrastructure is the introduction of microservices. Our API not only handled http calls, it processed the tasks itself, so we're moving the processing of tasks into a microservices. Microservices are self-managed, self-contained units that monitor dependencies, listen to changes, and complete tasks delegated to it. In this way we can take out the parts and put in new ones without disturbing other services.