Skip to content

Releasing is one button: 7 steps, 0 by hand

A pipeline that takes code from a commit to production with no one stepping in: tests, image, deployment to three targets and a check that each one responds.

Written by Mayda Morales VieraCo-founder · Engineering and product ·

The situation

In many companies, releasing a version is still one person logging into a server on a Friday afternoon. It works until that person goes on vacation, skips a step or nobody remembers the order. The problem isn't the person. It's that the process lives in their head.

What was built

The whole pipeline is written down in a file that lives next to the code. It runs the tests, builds the image and publishes it. Then it deploys it to three targets in the same run: a container server, a cluster and a machine running it as a system service. Finally, it checks that each one responds. And the credentials stay out of the repository.

What came out

Releasing is pressing a button. If something fails, it fails inside the pipeline and not in front of the customer, and the alert arrives within minutes. Nobody has to remember the order, because the order is written down. And nobody has to stay late on Friday.

Do the math: list the tasks someone on your team repeats every week that only that person knows how to do. Each one fails the day that person is out. In your business we do the same with invoices, follow-ups or appointments: described once, documented and yours, with your team reviewing only the unclear cases.

Our own end-of-course project. The code and the pipeline are public. The code is on GitHub (opens in a new tab).