Continuous Integration/Continuous Deployment is nowadays widely used software development practice. It can be applied to projects of any size, written in any programming language. In this blog series, we will share some useful tips and tricks on how to make such pipelines for Node-based projects fast, efficient, and reliable.
Before we dig into the details I must warn you that I assume you already know what stands for CI/CD. If not, read first the Wikipedia definition and this blog post from RedHat.
One of the fundamental goals of CI/CD is to build, test and deploy your code often. The advantages are pretty obvious: you reduce the risk of source code conflicts, find bugs early in development cycle and constantly deliver value to your customers. There is only one thing which may stop you to fully benefit from them. It’s pipeline speed. If it takes to much, developers simply spend more time looking at CI tool status page than at coding. Or even worse, they consciously delay the moment when they push to the repository, defeating the whole purpose of continuous integration.
Fortunately, it doesn’t have to be like that – pipelines can run fast! Here at NubiSoft our DevOps team put a lot of effort to ensure developers won’t wait forever for the build to pass. Now it’s time to share that knowledge with the community so that everyone can benefit!
This article will be released in installments, wherein we will focus on different aspects of building robust CI/CD pipelines. Although most of the examples will be from a Node-based front end project, some of them are generic and can be applied to any programming language. All pipelines will be built and run on GitLab CI because we love it and use it nearly for every project we work on. But again, building it with Jenkins 2 or Circle CI shouldn’t be a problem.
Let’s start with first topic: how to set up and configure GitLab Runner for Node project.
Table of contents:
- Configuring GitLab Runner for Node projects
- Dependencies caching
- Tests execution
- Building and publishing Docker images
One reply on “Robust CI/CD pipelines for Node based projects”
[…] is the first post from our series about building robust CI/CD pipelines for Node-based projects, wherein we will focus on how to […]