GitLab User Interface (UI) & Workflow
In this guide, we will explore the GitLab UI and workflow using the project “GitLab” as an example. We will cover possible options and provide examples for each option, quoting the source of information to build confidence.
GitLab User Interface
GitLab has plugins and extensions to extend GitLab functionality to various editors, including:
- Visual Studio Code
- JetBrains IDEs
- Visual Studio
- Neovim
GitLab also supports developers in their command-line interface with glab, the GitLab CLI.
GitLab Workflow
GitLab Flow and GitLab Duo
Combining GitLab Flow and GitLab Duo creates a powerful workflow for development, operations, and business processes. GitLab’s CI plays a vital role in this workflow.
GitOps Workflow
A GitOps workflow improves development, operations, and business processes. GitLab’s CI plays a vital role in this workflow as well.
GitLab CI/CD Workflow
GitLab CI/CD workflow is a method to automate software development and deployment processes. It includes the following stages:
- Build: compile source code into binary format
- Test: run automated tests on the binary code
- Release: prepare the code for deployment
- Deploy: deploy the code to production
For more information, see the GitLab CI/CD workflow documentation.
GitLab Flow
GitLab Flow is a workflow that provides flexibility in managing Git repositories. It includes the following branches:
- Master branch: production-ready code
- Feature branches: code for new features or improvements
- Release branches: code for a specific release
- Hotfix branches: code for urgent bug fixes
For more information, see the GitLab Flow documentation.
GitLab Contribution Workflow
To contribute to GitLab, follow these steps:
- Visit the GitLab Design System for an overview.
- Choose an issue to work on.
- Create a merge request (MR) to make changes that reflect the issue you’re working on.
For more information, see the GitLab contribution documentation.
Git Workflow
A Git workflow is a method to manage Git repositories. It includes the following branches:
- Master branch: production-ready code
- Feature branches: code for new features or improvements
- Release branches: code for a specific release
- Hotfix branches: code for urgent bug fixes
For more information, see the GitLab Git workflow documentation.
Connecting a Kubernetes Cluster with GitLab
You can connect your Kubernetes cluster with GitLab to deploy, manage, and automate your CI/CD pipelines. For more information, see the Connecting a Kubernetes cluster with GitLab documentation.
Development Guide for GitLab CI/CD Templates
GitLab CI/CD templates are job templates that you can use to accomplish specific tasks. They should be used by adding them to an existing .gitlab-ci.yml
file using the include
keyword.
When authoring job templates, do not use global
or default
keywords. If a job template requires a specific stage, explain in the code comments that users must manually add the stage to the main .gitlab-ci.yml
configuration.
For more information, see the Development guide for GitLab CI/CD templates documentation.
Integration Development Guidelines
GitLab integrations are custom integrations that you can create to extend GitLab functionality. For more information, see the Integration development guidelines documentation.
Conclusion
In this guide, we explored the GitLab UI and workflow using the project “GitLab” as an example. We covered possible options and provided examples for each option, quoting the source of information to build confidence. By understanding the GitLab UI and workflow, you can effectively contribute to GitLab and other GitLab projects.