🌐
GitLab
docs.gitlab.com › gitlab docs › use gitlab › use ci/cd to build your application › ci/cd yaml syntax reference
CI/CD YAML syntax reference | GitLab Docs
CI/CD variables, including predefined, project, group, instance, or variables defined in the .gitlab-ci.yml file. You can’t use variables defined in a script section. ... deploy to production: stage: deploy script: git push production HEAD:main environment: name: production url: https://prod.example.com
🌐
Spacelift
spacelift.io › blog › gitlab-ci-yml
Writing .gitlab-ci.yml File with Examples [Tutorial]
September 15, 2025 - Stages normally execute sequentially, with the next stage only starting when all the jobs from the previous stage have succeeded. Jobs within a stage run in parallel to improve performance.
People also ask

Where should the .gitlab-ci.yml file be placed?
The .gitlab-ci.yml file must be placed in the root directory of your GitLab repository. This is the default and only supported location GitLab CI/CD looks for when triggering pipelines. For larger setups, you can split pipeline logic into multiple files and include them, but the main .gitlab-ci.yml at the root is always required to act as the entry point.
🌐
spacelift.io
spacelift.io › blog › gitlab-ci-yml
Writing .gitlab-ci.yml File with Examples [Tutorial]
Does GitLab have CI/CD pipelines?
Yes, GitLab has built-in CI/CD pipelines as a core feature of its platform. GitLab CI/CD enables automated testing, building, and deployment through .gitlab-ci.yml, a configuration file stored in the repository.
🌐
spacelift.io
spacelift.io › blog › gitlab-ci-yml
Writing .gitlab-ci.yml File with Examples [Tutorial]
🌐
GitLab
docs.gitlab.com › gitlab docs › use gitlab › use ci/cd to build your application › pipelines
CI/CD pipelines | GitLab Docs
CI/CD pipelines are the fundamental component of GitLab CI/CD. Pipelines are configured in a .gitlab-ci.yml file by using YAML keywords.
🌐
GitLab
docs.gitlab.com › gitlab docs › use gitlab › use ci/cd to build your application › tutorials › tutorial: your first pipeline
Tutorial: Create and run your first GitLab CI/CD pipeline | GitLab Docs
For the Filename, type .gitlab-ci.yml and in the larger window, paste this sample code: build-job: stage: build script: - echo "Hello, $GITLAB_USER_LOGIN!" test-job1: stage: test script: - echo "This job tests something" test-job2: stage: test script: - echo "This job tests something, but takes more time than test-job1."
🌐
GitLab
docs.gitlab.com › gitlab docs › use gitlab › use ci/cd to build your application › getting started
Get started with GitLab CI/CD | GitLab Docs
To use GitLab CI/CD, add a .gitlab-ci.yml file to the root of your project. The .gitlab-ci.yml file defines the stages, jobs, and scripts that make up your CI/CD pipeline, including variables, job dependencies, and when and how each job runs.
🌐
OneUptime
oneuptime.com › home › blog › how to use stages in gitlab ci
How to Use Stages in GitLab CI
February 2, 2026 - Declare your stages at the top of your .gitlab-ci.yml file using the stages keyword.
🌐
Stack Overflow
stackoverflow.com › questions › 74557186 › explicitly-define-stages-in-gitlab-ci-for-sequential-job-execution
continuous integration - Explicitly define stages in Gitlab CI for sequential job execution? - Stack Overflow
According to the docs If stages is not defined in the .gitlab-ci.yml file, the default pipeline stages are: .pre build test deploy .post Now I have this sample .gitlab-ci.yml file without defining
🌐
GitLab
docs.gitlab.com › gitlab docs › use gitlab › use ci/cd to build your application › jobs
CI/CD Jobs | GitLab Docs
Run independently from other jobs. Have a job log with the full execution log for the job. Jobs are defined with YAML keywords that define all aspects of the job’s execution, including keywords that: Control how and when jobs run. Group jobs together in collections called stages.
Find elsewhere
🌐
GitLab
docs.gitlab.com › ee › ci › yaml › gitlab_ci_yaml.html
The `.gitlab-ci.yml` file
June 6, 2023 - When you visit any website, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences, or your device, and is mostly used to make the site work as you expect. The information does not usually identify you directly, ...
🌐
GitHub
github.com › diffblue › gitlab › blob › master › doc › ci › yaml › index.md
gitlab/doc/ci/yaml/index.md at master · diffblue/gitlab
stages: - build - dast include: - template: DAST.gitlab-ci.yml dast: dast_configuration: site_profile: "Example Co" scanner_profile: "Quick Passive Test"
Author: diffblue
🌐
Medium
medium.com › @yian806884 › comprehensive-guide-to-gitlab-ci-cd-081305b06a9a
Comprehensive Guide to GitLab CI/CD | by Yian Hsiao | Medium | Medium
October 16, 2023 - 3. Deploy: After the build stage and test stages pass, the application could be deployed. The names and number of stages can vary depending on the specific needs of your project. Others might include stages like Lint, SAST, DAST, or Release. # in .gitlab-ci.yml stages: - build - test - deploy
🌐
GitLab
about.gitlab.com › blog › engineering › the basics of ci: how to run jobs sequentially, in parallel, or out of order
Running CI jobs in sequential, parallel, and custom orders
April 24, 2024 - We have three sequential stages, the jobs pack-gz and pack-iso, inside the package stage, are running in parallel: Here is how to elevate your pipeline. In DevOps, a key software development strategy rule is making really great apps with amazing ...
🌐
GeeksforGeeks
geeksforgeeks.org › git › how-to-create-a-gitlab-ci-yml-file-in-gitlab
How To Create A .gitlab-ci.yml File in GitLab? - GeeksforGeeks
July 23, 2025 - GitLab CI/CD automates the process ... CI/CD pipelines is the .gitlab-ci.yml file, which defines the stages, jobs, and commands that need to be executed in a CI/CD pipeline....
🌐
GitHub
hsf-training.github.io › hsf-training-cicd › 04-understanding-yaml-and-ci › index.html
YAML and CI – Continuous Integration / Continuous Deployment (CI/CD) with GitLab
1 week ago - The GitLab CI configurations are specified using a YAML file called .gitlab-ci.yml. Here is an example: stages: - build job_1: stage: build script: - echo "This is the first step of my first job"
🌐
Medium
medium.com › @dhilipsingh92 › gitlab-ci-stages-job-and-trigger-6c680b1a0654
GitLab CI — Stages ,Job and Trigger | by Dhilipsingh G | Medium
May 14, 2025 - If a job has when: manual, it won’t ... from the GitLab UI. deploy: stage: deploy script: - echo "Deploying…" when: manual # Requires manual trigger from UI ... stages: - trigger trigger_child_pipeline: stage: trigger trigger: include: path/to/child-pipeline.yml...
🌐
DeepDocs
deepdocs.dev › home › a developer’s guide to gitlab ci yml
A Developer's Guide to GitLab CI YML | DeepDocs
February 16, 2026 - The table below breaks down the foundational building blocks you’ll be working with. Mastering how these three elements—pipelines, stages, and jobs—interact is the key to building powerful and efficient workflows.
🌐
Hifis
hifis.net › workshop-materials › gitlab-ci › episodes › 02-getting-started
Getting Started - Continuous Integration in GitLab - HIFIS
Adding a .gitlab-ci.yml to the root of your repository enables GitLab CI/CD for your project. A Pipeline is the top-level component of GitLab CI. ... Jobs, which define what to do. Stages, which define when to run the jobs.
🌐
KodeKloud Notes
notes.kodekloud.com › architecture & core concepts › using stage vs stages keyword
Using stage vs stages Keyword - KodeKloud
January 28, 2026 - build_job: stage: build script: - cowsay -f dragon "..." >> dragon.txt artifacts: paths: - dragon.txt expire_in: 1 hour · This makes the file available to all downstream jobs in the same pipeline. GitLab’s UI shows Pipeline Duration and Minutes Used—critical metrics if you’re on a usage-limited plan.
🌐
GitLab
docs.gitlab.com › gitlab docs › use gitlab › use ci/cd to build your application › pipelines › pipeline architectures
Pipeline architecture | GitLab Docs
Example child a pipeline configuration, located in /a/.gitlab-ci.yml, making use of the needs keyword: stages: - build - test - deploy default: image: alpine build_a: stage: build script: - echo "This job builds something." test_a: stage: test needs: [build_a] script: - echo "This job tests something." deploy_a: stage: deploy needs: [test_a] script: - echo "This job deploys something." environment: production
🌐
GitLab
gitlab.com › gitlab.org › repository
.gitlab-ci.yml · master · GitLab.org / GitLab · GitLab
.gitlab-ci.yml 20.91 KiB · Blame ... 69 · 70 · stages: - sync - preflight - prepare - build-images - release-environments - fixtures - lint - test-frontend - test - post-test - review - qa - post-qa...