This video introduces the GitLab platform which is used to demonstrate the establishment of a continuous integration pipeline.
- [Instructor] GitLab provides many features that support development teams using Git as their source code repository. This lesson will provide a high-level overview of GitLab and shows you where to find major features within the tool. Projects are a core concept within GitLab. Once you establish a project, GitLab provides a wide set of features such as a code repository, issue trackers, wikis, and CI/CD tooling to support the project.
Let's go ahead and build a new project by clicking on the create a project option. The first thing that we'll need to do is provide a name for our project. I'm simply going to call this project flow. We can then provide a description of a project. We'll just say this is a sample project used for the course. From there, we can specify a visibility level for the project. This will determine how exposed your project is to other users.
In our case, we're going to stick with a private project that will only be available to users we grant access, explicitly, to the project. When we build out a project, we can also choose to initialize a README file within the repository. I'm going to go ahead and check that option and then hit create project. Here we see our project's home. With the project set up, we can explore some of those major features that we'll be using within GitLab.
You'll notice the left-hand side bar contains a repository. This is where our code will be stored for the project. The interface allows you to look through the different branches found within the repository from the main screen, or you can find the branches on the side bar. Additionally, you can look at the code from various different aspects. You can see the latest commits that were provided to your project.
You can also take a look at the contributors and their work being performed on the project. Another nice feature is the graph which will show you the commit graph for your project and its repository. When it comes to workload tracking, GitLab provides some excellent features. They're all found within the issues section. Within this section, we can create new issues which represent work that needs to be done on our project.
You'll also find a board which represents a simple kanban board that you can use to track the progress of the issues as your team works them. GitLab also provides some features for labeling and grouping the issues that we work with. Labels can be applied to each issue, and that allows them to progress through the different statuses that are displayed on your board. It's a little bit confusing, but we'll focus on that later in the course.
Issues can also be grouped into a milestone. So, a milestone may contain several issues which represent the work required to be completed to introduce a new large feature into your project. Another important area within GitLab is the merge requests section. This section acts a lot like GitHub's pull requests. Merge requests allow a contributor without commit permissions on a repository to request that a maintainer merge in their submitted code.
GitLab's merge requests feature provides that ability to review and discuss the changes being proposed before they are integrated into major branches for the project. These are some of the major areas that we'll be focusing on within GitLab during the course. In addition to the central repository, issue tracking, and merge request features, GitLab provides support for CI/CD integration, a docker container registry, a wiki, and an area to store code snippets.
We'll get to know many of these features a lot better when we walk through a workflow.
- Identifying team conventions and best practices with Git
- Avoiding common pitfalls
- Teaming with remote platforms
- Implementing Git worklow and branching strategies
- Building a continuous integration pipeline
- Building a DevOps foundation