The CI/CD and DevOps Blog

How to test your Node.js app against multiple versions of Node

Software applications are regularly updated primarily to add new features, resolve bugs in the code and for security enhancements. A development language is no exception and each major update is called as a version. While it is a great advantage to have newer features, lesser issues and stronger security, the challenge arises when complexity creeps in. With multiple versions of a language, applications that depend on them have to be compatible with many versions. Moreover, when the applications themselves have to be updated, the combination of different versions of the language and the application makes it a challenge to write and test code.

Testing code against multiple versions of a language early in the application delivery life cycle helps in fixing errors quickly and makes testing more efficient in the downstream of the life cycle. In this tutorial, I'll go through testing a Node.js application against multiple versions of Node.js for every code commit during the continuous integration phase of the software development life cycle.

Running CI on a Node.js application hosted on a private repository

In my previous blogs, I completed running a basic Continuous Integration (CI) on a Node.js app hosted on a public repository. Next, I configured a simple unit test for the Node.js app to check for errors each time I did a code commit. 

In this tutorial, I'll cover running CI for the same Node.js application, if it were hosted on a private repository. Hosting code on a private repository source control system is the common way developers/teams operate during software development. The overview of the work flow is to sign in using source control provider credentials, authorizing a one-time access to private repositories, enabling the project, configuring the shippable.ymlfile, completing a successful CI run for the Node.js app.

Migrating to the New Build Platform

We unveiled the latest release of Shippable on February 29th. This release includes over 240 new features and addresses most of the customer feedback we've received over the last few months. Details about the new release are in my blog post here.

A big part of this release is moving to a new yml format that allows for maximum flexibility in configuring your workflows, including access to the Docker CLI in your yml commands.

To ease this transition to the new release, Shippable now includes a built-in yml translator which automatically reads old yml formats and converts them to the new format. This means you do not have to move to the latest format if you don't want to and your projects should continue to just work after your subscription is migrated in the next few days.

How to use Shippable CI with GitHub Enterprise

Many enterprises are looking to combine the benefit of Git-based repos with company requirements of on-prem code hosting. Today's GitHub  announcements of a number of new enhancements to GitHub Enterprise are a great step forward for enterprise-grade repos in an on-prem world. Shippable supports GitHub as both a service as well as the on-premise GitHub Enterprise. Here are instructions to connect Shippable to GitHub Enterprise.

How To: Use Slack Integration for Build Notifications

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. Go to the updated blog for this topic. For the latest information, refer to our documentation and/or open a support issue, if you have questions.


 

 

400x400_slack

Shippable uses Slack on a daily, continuous basis for all team communication. Why, you ask? Because it allows us to "work in the moment". We have found it to be significantly more efficient, more transparent and faster to communicate using Slack. And less email!

And so, enabling Slack integrations for Build Notifications is special and personal and ... you get the point. Of course, this has also been something our customers have also been asking for!

This blog walks you through the exercise of setting up the Slack integration on Shippable through a simple 3-step process.