The CI/CD and DevOps Blog

Deploying Containers to Elastic Beanstalk, the Shippable way!  

 

 

Warning-Icon.png

DEPRECATED BLOG:

We have significantly updated the Shippable platform with several new features. Hence most of the content in this blog is deprecated. For the latest information, refer to our documentation and/or open a support issue, if you have questions.

You can also refer to our new blog on this topic: How To: Deploy your application to AWS Elastic Beanstalk (Part 1)


 

 

Last month we introduced the ability to deploy Docker containers to Amazon AWS Elastic Beanstalk (EBS) as the last step in a Shippable CI/CD pipeline.  In this article, I will walk through the steps required to set this up in Shippable and execute a deployment to EBS.

AWS Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker on familiar servers such as Apache, Nginx, Passenger, and IIS.

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.