The CI/CD and DevOps Blog

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

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.

Running Continuous Integration on a Node.js app

Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early. By integrating regularly, you can detect errors quickly, and locate them more easily.

Shippable's CI platform supports different source control providers, languages, platform, notification providers, Docker registry services, container services and IaaS/PaaS providers for an end-to-end application delivery pipeline. In this tutorial, I'll go over basic CI for a simple Node.js app. The work flow includes sign up, enabling the repository that hosts the Node.js app, creating a yml.file that instructs Shippable on the details of running CI & completing a successful CI build.

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.

End-to-end container pipelines with Amazon EC2 Container Registry now available

We have significantly updated the Shippable platform with several new features. Hence this blog post is deprecated.

Check out our blog - Deploy your first Continuous Deployment Pipeline, that uses Docker Hub for image registry and Amazon EC2 Container Service (ECS) for container service.

For the latest information, refer our documentation, and/or open a support issue, if you have questions.

If you've thought about running containers on AWS, today's a big day.  With the introduction of Amazon EC2 Container Registry today, you can now establish and run a container-based pipeline entirely within AWS.  And with Shippable, setting up and running that pipeline with full visibility, history and control has never been easier.

During AWS re:Invent 2015, we announced our preview release for integration between Shippable and Amazon EC2 Container Service (Amazon ECS).  Today, we're thrilled to announce that we've added integration with Amazon EC2 Container Registry (Amazon ECR), as well. With this integration, Shippable customers can now pull and push Docker images from Amazon ECR as part of their Shippable CI builds and deploy them with Shippable Formations across multiple clusters in Amazon ECS, without ever having to manually update a Task Definition yourself.  Shippable automatically updates your ECS task definitions with the latest image information based on your CI builds and either automatically deploys or deploys with a single-click when you're ready.