Gitlab CI/CD - Job Dependencies (DAG)
Sequential stages can be slow. With needs:, we break the stage order to create a Directed Acyclic Graph. This allows jobs to start immediately after their specific dependencies finish, drastically reducing wait times.
Gitlab CI/CD - Workflow Rules
Sometimes you need to control the entire pipeline, not just specific jobs. We’ll configure Workflow Rules to prevent duplicate pipelines from running on the same commit, such as stopping double runs on Merge Requests.
Gitlab CI/CD - Rules & Conditions
Modern pipelines need logic. We’ll replace legacy syntax with the powerful rules: keyword, allowing you to trigger jobs based on file changes, variable values, or the presence of specific files.
Gitlab CI/CD - Variables
Hardcoding values is a security risk. We’ll use CI/CD variables to manage configuration dynamically. Learn to use predefined variables for metadata and safe project settings for secrets like API keys and passwords.
Gitlab CI/CD - Artifacts vs. Caching
Speed vs. Persistence. Use Caching to reuse dependencies like node_modules across pipelines to save time. Use Artifacts to pass build outputs, like binaries or test reports, between stages within a single pipeline run.
Gitlab CI/CD - Job Execution
Beyond the main script, lifecycle hooks like before_script and after_script handle setup and cleanup. Learn how to prepare your environment before a job runs and ensure vital cleanup steps happen even if the job fails.
Gitlab CI/CD - Pipeline Anatomy
Pipelines are structured into Stages, Jobs, and Scripts. We'll dissect the YAML syntax to understand how stages define the execution order and how jobs encapsulate the actual commands that run your tests and builds.
Gitlab CI/CD - Hello World
Your journey begins with a single file: .gitlab-ci.yml. We will write your first pipeline definition, commit it to the repository, and watch GitLab automatically trigger a job that prints a simple message to the console.
Gitlab CI/CD - The Runner Ecosystem
Runners are the engines of your pipeline. Whether using Shared Runners for quick tasks or Specific Runners for specialized hardware, we'll cover how to select, tag, and configure the right execution environment for your needs.
Gitlab CI/CD - Architecture
GitLab CI/CD relies on a Coordinator-Runner model. The GitLab server manages the pipeline state, while isolated Runners pick up jobs and execute the heavy lifting. We’ll map out how these components communicate securely to execute your code.