#1 India's Top IT Training Institute

×

About Uncodemy

Know more about who we are and what we stand for.

About Us

About Us

Discover our mission to equip individuals with essential IT skills and industry expertise.

Read More →
UnCodeMy Gallery

UnCodeMy Gallery

Explore highlights from our IT training sessions and success stories.

Read More →
×

Free Resources

Learn, practice and plan your career — bilkul free.

Tutorials

Tutorials

Step-by-step written tutorials to learn any technology at your own pace.

Read More →
Free Counselling

Free Counselling

Book a free video counselling session and pick the right course for you.

Read More →
Online Compiler

Online Compiler

Write, run and test your code online — no setup required.

Read More →
🦊 FREE · 4 STACKS

GitLab CI Generator: A Working Pipeline in One Go

Pick your stack and jobs and get a clean .gitlab-ci.yml with caching, artifacts, test reports and deploy rules.

  • 🧪 Lint, test, build
  • 🐳 Docker to GitLab registry
  • 🚀 Manual or auto deploy

How to use the GitLab CI YAML Generator

  1. 1. Pick the project typeNode.js, Python, Java (Maven) or Go.
  2. 2. Choose jobsLint, tests, build artifacts, Docker image and a deploy job.
  3. 3. GenerateCommit the file to your repository root and push.

How the pipeline is built

Jobs run in stages: test (lint and unit tests in parallel), build (your app's build output kept as an artifact, and a Docker image pushed to GitLab's own container registry), and deploy. Dependencies are cached using your lockfile as the cache key, so they're downloaded again only when the lockfile changes. Test results are published as JUnit reports for Python, Java and Go, so failures appear in merge requests. The Docker and deploy jobs run only on the default branch, and the deploy job uses a resource group so two deploys never overlap. Built-in GitLab variables such as $CI_REGISTRY_IMAGE mean no passwords go in the file.

We generated 60 job combinations across the four stacks and checked each with gitlab-ci-local, which validates the file against GitLab's schema and lists the jobs.

Worked example

For Node.js with every option on and a manual deploy, the file has 5 jobs in 3 stages: lint and unit-tests on node:22-alpine, build (keeping dist/ for a week), docker-image (built with Docker-in-Docker and tagged with the commit), and deploy, which waits for someone to press play on the default branch.

Tips

  • Paste the file into Build → Pipeline editor in GitLab to validate it before committing.
  • Store deploy keys and tokens as masked CI/CD variables in the project settings.
  • Docker-in-Docker needs privileged runners; GitLab.com's shared runners support it.

Frequently asked questions

Will this work on GitHub Actions?

No; GitHub uses a different format. The ideas (stages, cache, artifacts) carry over.

Why do merge requests get their own pipeline?

The workflow rules run one pipeline per merge request instead of two (branch and MR), saving runner minutes.

Is the GitLab CI generator free?

Yes. You can open the GitLab CI generator and change every input and rate without signing up. When you generate the file for the first time, we ask once for your name and WhatsApp number; after that it, and every other Uncodemy tool, opens straight away.

More free tools

See all free tools