The CI/CD and DevOps Blog

Learn about various tried-and-tested strategies that will help you ship code faster

CI/CD new features: Kubernetes, JaCoCo, and more

Keeping up our 2017 resolution, here's a summary of the new features released in January for Shippable's Continuous Integration and Delivery platform. In addition, get a sneak peek of what's coming in February.

Continuous Integration

Enhancements to Jacoco code coverage reports: You can now get individual file level detail, trend graphs for average line coverage and branch coverage for overall coverage results of the last ten runs and download the code coverage file in the .tar.gz format

 

CI/CD enhancements: JaCoCo, JFrog Artifactory, and more

Happy 2017! As the new year kicks in, we wanted to start a monthly blog that lets you know the new features we've launched in the last month. No more trees (aka features) falling silently in the forest... they'll make a big THUDDDDD in this monthly series. So without further ado.... TA DA!

Continuous Integration

Custom variables for manual builds: You can now inject custom environment variables while triggering a manual build through the UI. This is great while debugging when you don't want to make fake commits just to trigger builds with different env values. 

Integrated JaCoCo code coverage reportsYou can visualize rich reports within the Shippable UI and drill down to see which llnes of code are not covered by your tests. 

Declarative Continuous Deployment Pipelines with Docker

Everyone agrees that continuous deployment helps accelerate innovation. However, Continuous Deployment (CD) today is synonymous with fragile homegrown solutions made of disjointed tools cobbled together with thousands of lines of imperative scripts. Avi Cavale walks you through the CD maturity model and demos an end to end continuous deployment with declarative pipelines for Docker applications.

This video was taken at the Docker Seattle Meetup, hosted by Tune.

Deploy your first Continuous Deployment Pipeline

As you know, we released our new implementation of continuous deployment pipelines last month. While our basic documentation is up to date, we believe that learning the new pipelines is best done with quick tutorials that demonstrate the power of CD and how easy it is to get started.

We have created a sample project and sample configuration to deploy the project to test environment,  create a release with semantic versioning, and deploy the project to production. The entire end to end scenario should take less than 30 mins to try out and while you won't learn every little trick, it will definitely make you comfortable with the configuration and how to set things up.

So read on and try it out!

Setting permissions on Amazon EC2 Container Registry repositories


Setting up permissions for images on Docker Hub is pretty straightforward, given how it follows a simple GitHub-like model. Amazon EC2 Container Registry (or Amazon ECR) is a great service for storing images but setting correct permissions is slightly complicated. This is especially true when configuring user-specific permissions on the images. We’ll create a few users and repos and set up repo permissions. We’ll use the AWS command line tool to set the permissions. Using the cli makes it easier to script all the steps and automate the entire process. Everything we do using cli can be done using the web interface

The objective is to setup following rules for any image pushed on Amazon ECR

  • user usr1 should have push/pull permissions for Repo1 and Repo2
  • user usr2 should have push/pull permissions for Repo2 only
  • user usr3 should have only pull permissions for Repo1

Let's get started.