Learn to love your build pipeline

Setting up and creating a build pipeline can boost productivity and improve developer happiness.

What is a build pipeline?

The days of dragging and dropping files via FTP are over. If you’re building a modern web app, you need to implement a Continuous Integration (CI) and Continuous Delivery (CD) pipeline.

This is a way of building the assets and files for your site, running your tests, placing the files on the server, and a whole heap more.

In this article, we’ll dive into the basics of getting your pipeline up and running, and the advantages of doing so.

Why use a build pipeline?

For me, there are three key reasons to implement a build pipeline:

Consistency

By building a test suite and a configured environment, your web app will go through the same process every time you want to deploy. This level of consistency is good for your code, your developers and your customers.

Having a consistent build process enables your developers to run the same local environment as production builds. This increases confidence in each change, and allows for reproducible builds in any environment.

Productivity

Each deployment you perform manually takes developers away from their core job: solving problems. By automating your build pipeline, builds can be run in the background, and can take seconds (or even fractions of a second).

This means no more “release windows” and no more breaking developers focus just to release.

This also fits nicely into…

Release early, release often

The productivity and consistency points feed nicely into a faster release schedule. Your application should be solving problems for customers, not stuck waiting for a release.

A good build pipeline will enable you to get your product in the hands of customers faster and fits nicely with an agile software philosophy.

More to come

In future posts I will be writing about the stack I use and the associated build pipeline.

Further reading