
Begin with a GitLab introduction, learn Git vs GitLab, and how CI and continuous deployment fit into hosting; then create your first project and clone link to push and pull.
Learn to download and install git, initialize a local repository, configure global user name and email, and push commits to a GitLab project.
Fork a project in GitLab by creating a group namespace, making a private copy for changes without altering the original, and submitting a merge request from source to target branches.
Generate and add an ssh key for GitLab authentication to log in without username and password. The video guides ssh-keygen, saving the key, and adding it to GitLab's SSH keys.
Learn to install, register, and start a GitLab runner for GitLab CI, obtain the registration token from your project, select a shell executor, and verify the activated runner.
Learn GitLab ci/cd basics, including continuous integration, delivery, and deployment, and how to create a .gitlab-ci.yml with a demo job to run a pipeline with a runner.
Learn to use Git branching and merging to safely develop features, including creating and checking out branches, merging into master, and deleting branches locally and remotely.
Learn how to create git tags to mark release points or historic points in your repository, and how to display, push to remote, and delete tags in GitLab.
Explain git fetch and git pull: fetch downloads changes to the local repository without touching the working directory, enabling review before merging. Pull auto-merges into the current branch, risking conflicts.
Learn to use git cherry-pick to apply a single commit from one branch to another, contrasting it with merge and rebase, with practical examples on master and develop branches.
Learn how to undo changes in working directory and staging area, reset commits locally in soft, mixed, or hard modes, and use revert to undo commits while considering remote history.
Learn how to create a merge request on GitLab by cloning a repo, creating a feature branch, committing changes, pushing, and submitting the merge request for review.
Learn to create and manage GitLab CI pipelines with defined stages and jobs, including build, test, and deploy, using GitLab CI YAML and understanding parallel versus sequential execution.
Learn to set up a GitLab CI pipeline for a Maven project using a Docker-based runner, defining build, test, package, and deploy stages, and caching the Maven repository and target.
Learn to build a Node.js project with GitLab CI/CD using a shared runner, two stages (build and build Docker image), and two jobs (build Node.js app and build Docker image).
his course is neither endorsed by, nor in partnership, nor affiliated with GitLab, Inc.
This course will teach you how to use Gitlab CI for your own projects. You will learn the basics of CI/CD and start building pipelines right from the first lecture.
Some highlights:
- have an overview of the Gitlab architecture
- create a simple pipeline
- learn the CI/CD practice by deploying a simple website
- use Docker images within Gitlab
- learn how to deploy a Java application to AWS, using AWS S3 and AWS Elastic Beanstalk.
This course will NOT make you a GitLab CI / DevOps expert
A lot of courses promise you will become an expert. Becoming an expert in any tool comes with time and hard work. It simply does not make sense to promise something like that. It will not be honest.
This is a course designed for beginners. Learning to build pipelines is a try-and-error process that can be very frustrating. You need to understand the tools you use and how GitLab can support your needs. In the end, GitLab is just a tool.
What I will try is to explain to you the basics and offer you enough practice opportunities so that you can apply what you learn easily in your own projects as well. I will show you how to build pipelines with Gitlab CI.
Who this course is for:
Software developers learning to build pipelines in order to test & deploy code
IT Professionals: Developers, Software Engineers, Application Architects, Infrastructure Architects, and Operations