The Shippable Blog

How to build, deploy and test applications with Shippable pipelines.

When appropriate tools & technology are available in abundance, automation is considered the primary resource to improve the efficiency of any software development process. Faster innovation cycles and speed to market are crucial to a business. With the very same principle in mind Shippable was founded so that software powered organizations could accelerate innovation. Shippable provides an integrated platform, using which you can automate your software delivery from source control to production, without needing to write complex, imperative code.

In this tutorial we will learn how to create an end to end deployment for a single service, with source code maintained in a repository on github. We will also see how to trigger tests every time the deployed environment is updated or your test cases are updated.

Announcing support for deployments to Kubernetes

Ever since we added Continuous Delivery pipelines to Shippable, one of the most common feature requests has been around support for deployment to the open source container orchestration platform from Google: Kubernetes. And we're excited to announce that we've added this last week! We already support Amazon ECS, Google Container Engine (GKE), Joyent Triton, and Docker Cloud/Datacenter and with Kubernetes added to this list, you can now automate deployments to any major Container Service using Shippable.

Continuously deploy to Amazon ECS

Amazon provides a hosted Container Service for Docker called EC2 Container Service (ECS) as part of its container focused suite of services. Many of our customers seem to love the ECR (EC2 Container Registry) and ECS combination to store and run their applications. Amazon ECS can be accessed by going to your AWS Management Console, selecting EC2 Container Service from the list of Services. 

In part I of this series, I demonstrated a simple scenario where we built and pushed a Docker image to ECR as part of the CI build workflow. In this blog post, I will show how you can set up deployment of the same sample application into Amazon ECS, In the last part of this series, I'll show how you can complete your Continuous Delivery pipeline with deployment into subsequent environments, promotion workflows between environments, and release management.

If you want to follow along with the step by step tutorial you can fork our sample, sign in to Shippable, and set up the CI/CD workflow as described. 

Sign in for free

Continuous Delivery using JFrog Artifactory with Shippable

We recently added a native integration with JFrog's Artifactory. You can push your versioned package to Artifactory after CI as explained in my previous blog. From Artifactory, you can deploy the package to a Test environment, and then promote the package through various environments and finally to production. You can also pull dependencies from Artifactory as part of your CI/CD workflows on Shippable.

JFrog's Artifactory is one of the most advaced repository managers available today. It is open source and especially popular with Java app developers and also Enterprises that want to self host a repository manager for their projects.You can learn more about Artifactory here.

This blog continues from where the earlier blog Pushing to JFrog Artifactory after CI left off. So it assumes that you have forked the sample project, set up CI, and pushed HelloWorld.war to your Artifactory account. This blog will deploy the WAR file to a beta environment running on a node cluster on Digital Ocean.

7 things to consider while moving to a microservices architecture

In part I of my four part blog series on Microservices, I explained what microservices are and the benefits you will see by adopting this architecture.

However, life is all about tradeoffs. In part II of this series, I will go over the things you need to consider while moving to microservices, as well as some challenges that crop up even when you do everything right.

Microservices for greenfield projects

Anytime your team develops a new application from scratch, it feels great not to inherit technical debt and be locked into outdated decisions made years ago.  Most teams developing new apps today would probably choose to containerize them using Docker and adopt microservices architecture for speed and agility.