
Define a GitLab CI/CD pipeline by creating a root GitLab CI YAML file and defining one or more jobs with a script that runs commands.
Learn how to ignore jobs in a GitLab CI/CD pipeline by removing a job from the configuration or prefixing its name with a dot, ensuring only the build job runs.
Skip a GitLab CI pipeline by adding CI or skip CI to the commit message, preventing automatic pipeline triggers after changes.
Define and order jobs in a GitLab CI/CD pipeline using stages. Learn to set build, test, and deploy stages, enforce sequential execution, and skip later stages on failure.
Discover how to control GitLab CI job order using the needs keyword to enforce a docker build, then test, and finally push sequence, while building cross-stage dependencies.
Learn to use before_script and after_script in GitLab CI to run commands before and after a job within a pipeline, such as creating files, simulating login, and cleaning up.
Execute a shell script in a GitLab CI build job by creating a script file, invoking it from YAML in the build stage, and using a before_script to fix permissions.
learn to save the build result as artifacts in a GitLab CI pipeline, then share build.txt with test and deploy jobs using artifacts, path, name, and expiring options.
Learn to control GitLab CI artifacts download behavior using the dependencies keyword to fetch from specific build jobs, and switch to needs with artifacts false to skip downloads.
Learn to define and use docker username, image name, and image version as global or job-level variables in a GitLab CI/CD pipeline, enabling consistent build, test, and push steps.
Learn to mask sensitive data in a GitLab CI/CD pipeline by creating project variables, setting them as masked or hidden, and using them in the docker push and deploy jobs.
Explore predefined variables in GitLab CI to build dynamic pipelines without hard coding, using pipeline, job, and job-only scopes with examples like CI_PIPELINE_ID, CI_PIPELINE_SOURCE, and CI_JOB_ID.
Learn to control GitLab CI pipeline creation with rules, using a workflow name and conditions like commit branch equals main or file existence to trigger pipelines.
Discover how to use rules at workflow and job levels to include or exclude docker jobs in a pipeline, based on image name values like webapp and webapp1.
Use pipeline schedules to trigger GitLab CI pipelines automatically on a schedule using cron syntax, with time zone, target branches or tags, variables, and manual triggering.
Specify the docker image for a GitLab CI job using the image keyword, and use the node alpine image for node and npm availability in a deploy job.
Explore how to clone a sample React app, install dependencies, run unit tests and code coverage, and build and run a CI-CD workflow with GitLab CI and report uploads.
Set up a code coverage job in the GitLab CI-CD pipeline, run coverage with npm run coverage, and upload the Clover.xml report as a coverage artifact with an 80% threshold.
Learn how to use the allow_failure option in GitLab CI to let a failing job continue the pipeline, with examples for code coverage, docker build, and exit codes.
Push docker images to the GitLab container registry by authenticating with CI variables, tagging the image with the registry address, and pushing via a dedicated pipeline job.
Are you ready to automate your development workflow and supercharge your projects?
In this beginner-friendly course, you’ll learn how to harness the power of GitLab CI/CD to create, manage, and optimize your own pipelines — no prior DevOps experience required!
We'll start from the ground up, introducing you to the core concepts of GitLab CI/CD. You'll understand how pipelines, jobs, stages, and runners work together to streamline your software delivery. Through hands-on examples, you'll quickly move from theory to practice, building real-world pipelines that automatically test, build, and deploy your code.
By the end of this course, you'll have the skills and confidence to design and implement your own custom pipelines in GitLab, helping you and your team ship code faster and with fewer errors.
What you’ll learn
Writing and structuring .gitlab-ci.yml files
Defining jobs, stages, and pipelines
Using GitLab runners to execute your pipelines
Best practices for organizing your pipelines
Working with multi-stage pipelines
Debugging and troubleshooting CI/CD issues
Requirements for this Course:
Having a Gitlab account
Basic git knowledge
Basic experience with Linux
Who this course is for:
Beginners who are new to CI/CD and GitLab
Developers who want to automate testing and deployment
DevOps engineers looking for hands-on GitLab CI/CD experience