GitLab is one of the most popular DevOps platforms today.
With this playground, you’ll be provided with a running self-hosted GitLab instance where you can practice and get hands-on experience on how to navigate and use different features GitLab can offer.
- A complete self-hosted GitLab instance up and running
- Accessible GitLab Web UI to manage your instance
- Ubuntu for Host Operating System
What is GitLab?
GitLab is a platform built for collaborative software development. You can create git repositories to store the files of your software projects. And it has plenty of tools to help with DevOps practices, such as building CI/CD pipelines to efficiently, and automatically build, test, and deliver software.
There are two types of services offered by GitLab. One is from Gitlab.com where you can just sign up for an account and use it from there. The other one is the self-managed GitLab server. With this second option, you simply set up GitLab on a server you manage on your own. This gives you more freedom since you can control every aspect of your configuration. Self-managed GitLab is usually the preference of many companies and businesses.
- GIT Repository - GitLab has all the features you would expect from GIT. Safely store your project’s code base and enable versioning and tracking. Monitor merge request commits. Make it more secure by controlling user access to your repository.
- Issues and Boards - GitLab has a boards and issues system allowing users to report bugs, track work on bug fixes, request features, monitor new feature implementations, and so on. In a nutshell, these allow people to collectively plan things, track how things are evolving, and implement changes in a transparent way, easy to follow for everyone involved.
- CI/CD - GitLab provides CI/CD pipelines built-in to your repositories. This allows you to configure your repositories to run automated pipelines as soon as there is a new commit to the branch. These pipelines can start by completely testing your application for each commit submitted. This can help catch some bugs and breaking changes much earlier in the development process. And lastly, you can utilize the CI/CD of GitLab to automatically perform deployments straight to your infrastructure, for any changes that passed the automated testing stages. Of course, it’s not limited to these types of pipelines only as they can be customized, depending on your needs.
- Container Registry - GitLab also provides you with the functionality to store your OCI-compliant containers in your repositories. These container registries are useful if your software infrastructure uses or orchestrates any form of containerized applications built from Docker or anything similar. You can configure your CI/CD pipeline to push the packaged container images directly to these container registries. This provides quick, secure, and easy access to your private container images that can be pulled anytime.
- User accounts with Access Control - GitLab also features user and access control over your repositories, so you can fine-tune permissions. Users can set up 2FA as additional security over their credentials. As an administrator, you can control who can access your project, and what each person should be allowed to do.
Many more features that help you manage software the DevOps way. For example, you also get access to monitoring and analytics tools that help you keep an eye on how your software projects are performing.