The CI/CD and DevOps Blog

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

Using NPM Private Modules In Your CI Workflow

In addition to publicly available packages, npm also allows users to publish and manage packages in a private namespace. If you want your npm install command in the CI workflow to install your private dependencies, there are a couple of setup steps that are required.

Unless you follow these steps, your npm install command will throw an error, such as 

  npm ERR! 404 Not found : @manishas/my-private-module   

 

Step 1: Get your npm auth token

First, you need to find your npm token, which is stored in the .npmrc file in your home directory. The file will contain a line which looks like this:

  //registry.npmjs.org/:_authToken=GFYR$E8D-89DG-GH54-HJDR-TYDGOSYT785T  

Copy the value of the token, which is everything after authToken=

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.

How to deploy to Elastic Beanstalk (Part 2)

In the previous part, we went over the steps of source code deployment to AWS Elastic Beanstalk using a simple Node.js app. We deployed the source code natively at first, then compared with deploying it through Shippable. The latter approach showed actions in the work flow executed automatically for you, by Shippable's unified CI/CD platform.

I'll take a similar approach for this part where we'll go through a deployment of a Docker container of a Node.js app to AWS Elastic Beanstalk. To fully understand this tutorial, complete the previous source code deployment to AWS Elastic Beanstalk first.

Customizing build badges to display a Node.js project status

Badges are often a convenient utility to track the status of a software project. One can configure a badge to show the project's last build status in a convenient location. Shippable provides its own API for badges. This API has default badges for pending completion, failed & successful builds.

In the previous tutorial, I configured a build badge for a Node.js project on Shippable. However, I would like to customize the build badge display to my specifications by changing the color and label of these badges. In this tutorial, I'll walk through customizing these badges to achieve the same by using a third party service - shields.io.

REST API best practice: One Database call per Route

Shippable has been on a roll for the last 8 months. We scaled our team by 3X, had the best-ever release of our continuous integration and delivery platform on February 29, and we’ve continued launching 10+ features every month since then. 

As we scaled our development team, every new developer joined us with preconceived ideas about how software is developed. Unfortunately, software development is pretty inefficient at most places, and this is one of the main reasons we started Shippable. We at Shippable do things differently. We focus on shipping code faster and faster, and we hold some principles very close to our heart. 

One of our strongest beliefs is in pure REST APIs. This means we follow the cardinal rule: thou shalt not make multiple calls to DB objects from inside a single RESTable route. So when any new developer joins our team, his first question is : Why do we call our API from within our API?