Get Started for Small Business
You need to get to market quickly and innovate faster than the competition. You can't afford to be slowed down by a complicated DevSecOps process. This guide will help you quickly set up the essentials for automated software development and delivery on the Premium tier with options to include security, compliance, and project planning found in the Ultimate tier.
Before you start
In GitLab 15.1 (June 22, 2022) and later, namespaces in GitLab.com on the Free tier will be limited to five (5) members per namespace. This limit applies to top-level groups and personal namespaces. If you have more users, we recommend starting with a paid tier.
GitLab SaaS or GitLab Self-Managed
Do you want GitLab to manage your GitLab platform or do you wish to manage it yourself?
Free, Premium, or Ultimate
To determine which tier is right for you, consider the following:
Number of users
GitLab subscriptions use a concurrent (seat) model for both SaaS and Self-Managed. The number of users/seats can influence your choice of tier. If you have more than five users, a paid tier (Premium or Ultimate) is needed.
Amount of storage needed
Free tier namespaces on GitLab SaaS have a 5GiB storage limit.
Desired security and compliance
- Secrets detection, SAST, and container scanning are available in Free and Premium.
- Additional scanners such as DAST, dependencies, Cluster images, IaC, APIs, and fuzzing are available in Ultimate.
- Actionable findings, integrated into the merge request pipeline and the security dashboard require Ultimate for Vulnerability management.
- Compliance pipelines require Ultimate.
- Read about our security scanners and our compliance capabilities.
Determine how many seats you want
A GitLab SaaS subscription uses a concurrent (seat) model. You pay for a subscription according to the maximum number of users during the billing period. You can add and remove users during the subscription period, as long as the total users at any given time doesn't exceed the subscription count.
Learn how seat usage is determined
Obtain your SaaS subscription
GitLab SaaS is the GitLab software-as-a-service offering, which is available at GitLab.com. You don't need to install anything to use GitLab SaaS, you only need to sign up. The subscription determines which features are available for your private projects. Go to the pricing page, and select Buy Premium or Buy Ultimate.
Organizations with public open source projects can actively apply to our GitLab for Open Source Program. Features of GitLab Ultimate, including 50,000 compute minutes, are free to qualifying open source projects through the GitLab for Open Source Program.
Learn more about a SaaS subscription
Determine CI/CD shared runner minutes needed
Shared runners are shared with every project and group in a GitLab instance. When jobs run on shared runners, compute minutes are used. On GitLab.com, the quota of compute minutes is set for each namespace, and is determined by your license tier.
In addition to the monthly quota, on GitLab.com, you can purchase additional compute minutes when needed.
Determine how many seats you want
A GitLab Self-Managed subscription uses a concurrent (seat) model. You pay for a subscription according to the maximum number of users during the billing period. You can add and remove users during the subscription period, as long as the total users at any given time doesn't exceed the subscription count.
Learn how seats are determined
Obtain your Self-Managed subscription
You can install, administer, and maintain your own GitLab instance. Go to the pricing page, and select Buy Premium or Buy Ultimate.
Activate GitLab Enterprise Edition
When you install a new GitLab instance without a license, only Free features are enabled. To enable more features in GitLab Enterprise Edition (EE), activate your instance with the activation code provided upon purchase. The activation code can be found in the purchase confirmation email or in the Customer Portal under Manage Purchases.
Review the system requirements
Review the supported operating systems and the minimum requirements needed to install and use GitLab.
Install GitLab
Choose your installation method
Install on your cloud provider (if applicable)
Configure your instance
This includes things like connecting your email to GitLab for notifications, setting up the dependency proxy so you can cache container images from Docker Hub for faster, more reliable builds, and determining authentication requirements, and more.
Set up offline environment (optional)
Set up offline environment when isolation from the public internet is required (typically applicable to regulated industries)
Is an offline environment right for you?
Consider limiting CI/CD shared runner minutes allowed
To control resource utilization on Self-Managed GitLab instances, the quota of compute minutes for each namespace can be set by administrators.
Install GitLab runner
GitLab Runner can be installed and used on GNU/Linux, macOS, FreeBSD, and Windows. You can install it in a container, by downloading a binary manually or by using a repository for rpm/deb packages.
Configure GitLab runner (optional)
GitLab Runner can be configured to suite your needs and policies.
See runner configuration options
Self administration
Self-Managed requires self-administration. As administrator, there are many things you can adjust to your unique needs.
You can add functionality such as secrets management or authentication services, or integrate incumbent applications such as issue trackers.
Configure your organization and its users. Determine user roles and give everyone access to the projects they need.
In GitLab, you can create projects to host your codebase. You can also use projects to track issues, plan work, collaborate on code, and continuously build, test, and use built-in CI/CD to deploy your app.
Plan your work by creating requirements, issues, and epics. Schedule work with milestones and track your team's time. Learn how to save time with quick actions, see how GitLab renders Markdown text, and learn how to use Git to interact with GitLab.
Add your source code to a repository, create merge requests to check in code, and use CI/CD to generate your application.
Determine which scanners you'd like to use
GitLab offers Secrets detection, SAST and Container Scanning in the Free Tier. DAST, Dependency and IaC scanning, API security, license compliance and fuzzing are available in the Ultimate tier. All scanners are turned on by default. You can choose to turn them off individually.
Configure your security policies
Policies in GitLab provide security teams a way to require scans of their choice to be run whenever a project pipeline runs according to the configuration specified. Security teams can therefore be confident that the scans they set up have not been changed, altered, or disabled. Policies can be set for scan execution and for scan results.
Configure merge request approval rules
You can configure your merge requests so that they must be approved before they can be merged. While GitLab Free allows all users with Developer or greater permissions to approve merge requests, these approvals are optional. GitLab Premium and GitLab Ultimate provide additional flexibility to set more granular controls.
Deploy your application internally or to the public. Use flags to release features incrementally.
GitLab provides a variety of tools to help operate and maintain your applications. You can track the metrics that matter most to your team, generate automated alerts when performance degrades, and manage those alerts - all within GitLab.
GitLab comes with its own application performance measuring system. GitLab Performance Monitoring makes it possible to measure a wide variety of statistics.
GitLab offers various features to speed up and simplify your infrastructure management practices.
- GitLab has deep integrations with Terraform for cloud infrastructure provisioning that helps you get started quickly without any setup, collaborate around infrastructure changes in merge requests the same as you might with code changes, and scale using a module registry.
- The GitLab integration with Kubernetes helps you to install, configure, manage, deploy, and troubleshoot cluster applications.
GitLab provides analytics at the project, group, and instance level. The DevOps Research and Assessment (DORA) team developed several key metrics that you can use as performance indicators for software development teams. GitLab Ultimate has included them.