VOOZH about

URL: https://thenewstack.io/four-steps-to-set-up-a-ci-cd-pipeline-in-20-minutes/

⇱ Four Steps to Set Up a CI/CD Pipeline in 20 Minutes - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2019-11-15 08:04:04
Four Steps to Set Up a CI/CD Pipeline in 20 Minutes
contributed,sponsor-gitlab,sponsored,sponsored-post-contributed,
CI/CD / Microservices

Four Steps to Set Up a CI/CD Pipeline in 20 Minutes

Speed up and supercharge your CI/CD deployments with Kubernetes, and GitLab's automation tools.
Nov 15th, 2019 8:04am by Darby Frey
👁 Featued image for: Four Steps to Set Up a CI/CD Pipeline in 20 Minutes
Feature image via Pixabay.
GitLab sponsored this post.

Software feels the need for speed. Continuous integration and continuous deployment promise speed (and better quality) but simply installing the pipeline isn’t enough. CI/CD requires continuous improvement in order to make sure you’re getting the most out of your software development lifecycle. Here are four steps we’ve taken to ensure our CI/CD pipelines are moving swiftly and efficiently. Follow along to fine-tune your process.

Learn the Basics First

Darby Frey
Darby is the interim director of engineering at Gitlab. He is enthusiastic about all things related to engineering leadership, DevOps culture, startups and running.

In order to make sure you get the most out of your CI/CD pipeline you first have to understand the many moving parts. This is a simple step to take but it is vital that everyone involved has a firm grasp on the terminology.

It all starts with a pipeline, which is a collection of jobs split into different stages. A code change is normally known as a commit, and a job just refers to instructions that a runner has to execute. A runner is an agent or server that executes each job individually. Runners can be spun up or down as needed thanks to the beauty of microservices and Kubernetes cluster architectures. And then there are stages, which refer to the different processes of a job like build or deploy. Jobs in the same stage can be done in parallel.

A CI/CD pipeline is configured using a YAML file. You’ll want to set the parameters of the pipeline: what to execute and what happens when a process succeeds or fails. Complex projects with dependencies in multiple areas (microservices are a good example) will require a multiproject pipeline.

Finally, there are a handful of broader terms you’ll need to adapt for any CI/CD pipeline you’re working on. Version control tracks changes over time and can make it easy to switch back to an earlier version if necessary. Audit trails track source code changes. Collaboration, in this context, refers to how easy it is for the entire team to have access to the code for improvements, suggestions, and updates. And a Lint tool helps ensure the YAML files are valid and can be helpful to new users.

Put It on Autopilot

You already know that CI/CD is a simple term for a very not simple process. In fact, most CI/CD pipelines have at least nine steps and often many more. But we’ve proved at GitLab how it was possible to get a pipeline up and running in under 20 minutes and our secret ingredient was what we call Auto DevOps. Choosing a CI/CD solution with built-in automation simplifies everything.

In that short span of time, we built an application into a container, checked it for vulnerabilities, dependencies and licenses; deployed it to a Kubernetes cluster and set up hostnames as well as DNS and TLS certifications (that were automatically renewed if necessary). Finally, the code was performance tested. Want to try this at home? Here’s the code you need to easily connect to Kubernetes: kubectl gitlab-bootstrap gitlab-project-id. The result is a URL that you can follow to see more about the Kubernetes cluster in your GitLab project.

But that’s also not to say that everything has to be automated in every situation. The underlying source code should be available to you for each component of the deployment process so you can decide which jobs make sense to automate.

Stop Waiting for Builds

Nothing is more annoying (and time-wasting!) than sitting around waiting for the pipeline to run. But there is a solution: autoscaled runners. Autoscaling brings flexibility and real-time supply and demand to a CI/CD pipeline like nothing else. And it can virtually eliminate that pipeline downtime if you do it right.

To get started you’ll need an instance and a runner ours is free and written in Go so it can run on any platform where you can build Go binaries including Linux, OSX, Windows, FreeBSD and Docker). You’ll want to configure your runners so that machines are created on-demand. After a job is completed your runners can wait for the next job or be removed automatically. It’s also possible to spell out how long you’d like them to hang around, the “IdleTime,” before they’re shut off. With autoscaled runners, nothing is wasted. Your infrastructure will have achieved Goldilocks status — not too much, not too little but just right for your needs.

Autoscaled runners let developers focus on writing code and frees operations pros from infrastructure worries. It’s an easily achievable win-win.

Streamline the Process

Nobody is lucky enough to be able to write code in a vacuum, unfortunately. So developers have to be certain new code doesn’t stomp all over any dependent microservices and that means more testing. The most efficient way to accomplish all the required testing is by setting up a cross-project pipeline.

It’s a straightforward process that involves simply triggering cross-project pipelines when you create your project pipeline. In GitLab it’s possible to just a trigger job in the CI config file. Adding the “trigger” keyword to the YAML CI file, which outlines the order of the CI/CD stages, will set off a bridge job that creates cross-project pipelines. It’s possible to set up parameters in those downstream pipelines and define which branches to use.

If you’re worried about being able to track what is going on with all the sequential and parallel jobs and then downstream pipelines as well, pipeline graphs offer a visual guide to all of the moving parts.

Don’t let your tools slow you down. Join GitLab for our Mastering CI/CD webcast. Click here to watch.

GitLab is the most comprehensive, intelligent DevSecOps platform for software innovation. GitLab enables organizations to increase developer productivity, improve operational efficiency, reduce security and compliance risk, and accelerate digital transformation.
Learn More
The latest from GitLab
TRENDING STORIES
Darby is the interim director of engineering at Gitlab. He is enthusiastic about all things related to engineering leadership, DevOps culture, startups and running.
Read more from Darby Frey
GitLab sponsored this post.
SHARE THIS STORY
TRENDING STORIES
TNS owner Insight Partners is an investor in: Docker.
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.