Product Solutions Resources Partners Pricing Support Talk to an expert Get free trial Login GitLab vs Azure DevOps Comparison Azure DevOps vs GitLab What is Azure DevOps? Azure DevOps offers functionality that covers multiple stages of the DevOps lifecycle including planning tools, source code management (SCM), and CI/CD. Azure DevOps got there by rebranding some products to Azure DevOps and by integrating some of the tools that make up the DevOps Toolchain. For example, on September 10, 2018 Microsoft renamed VSTS to Azure DevOps and later renamed TFS to Azure DevOps Server, and upgraded both with the same new user interface. GitLab has built a single application that covers the entire DevOps Tool Chain - planning, source code management, continuous integration, continuous delivery, security too monitoring. This enable close and seamless exchange of information and actions from one point in the DevOps lifecycle to another. Azure DevOps v/s GitLab Deep Insights Explore these links for deeper insights on how Azure DevOps and GitLab compare. - Side by side product comparisons - Information for business decision makers - and much more. Use Cases Lic. & Releases Decision Makers Azure DevOps vs GitLab for Continuous Integration Continuous Integration comparison between Azure DevOps and GitLab. Azure DevOps vs GitLab for Continuous Delivery Continuous Delivery comparison, highlights capabilities not native to Azure DevOps but available natively in GitLab. Azure DevOps vs GitLab Multi-Stage Pipelines Multi-Stage Pipeline Comparison, highlights YAML Pipeline configuration differences. Azure DevOps vs GitLab for DevSecOps Azure DevOps DevSecOps capabilities are only through integrations. Highlights differences between Azure DevOps and GitLab. Azure DevOps vs GitLab for Version Control Azure DevOps’ two options for Version Control and side-by-side comparison with GitLab. The Microsoft Perspective (01/2018) Microsoft’s perspective on how they compare to GitLab. Feature Comparison FEATURES The most comprehensive import feature set SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab can import projects and issues from more sources (GitHub, Bitbucket, Google Code, FogBugz, Gitea and from any Git URL) than GitHub or any other VCS. We even have you covered for your move from SVN to Git with comprehensive guides and documentation. Making it easier to get up and running with GitLab Ease of migration from other providers SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab lets you easily migrate all repos, issues and merge request data from your previous provider. Learn how to migrate your projects to GitLab Lock Discussion SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Lock down continued discussion in an issue or merge request as a Maintainer role or higher, to prevent further abuse, spam, or unproductive collaboration. Lock Discussion Custom Notifications SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Be notified by email, Slack, or to-do items anytime there are changes to an issue or merge request. Learn more about Custom Notifications Rich Object Summary on Link Hover SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE View an information-rich summary by hovering over links to users, issues, merge requests, and other objects in GitLab. See the epic that implements this Powerful branching SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE A branch in Git contains the entire history that precedes it. It’s also created or moved towards instantly and easily shared. See the Git documentation to get started with branches Protected branches SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Granular permissions for branches you want to protect. Read about protected branches Commit graph and reporting tools SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab provides commit graphs and reporting tools about collaborators’ work. Learn more about commit graphs Required Merge Request Approvals SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Guarantee quality and standards of your code by mandating a set number of necessary approvals and predefine a list of specific approvers. Learn more about merge request approvals Multiple approvers in code review SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE To ensure strict code review, you can require a minimum number of users to approve of a merge request before it is able to be merged. Approvals Documentation Approval rules for code review SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Approval rules ensure that the right people review merge requests by specifying eligible approvers and the minimum number of approvals required for a merge request. Approvals Documentation Search files with fuzzy file finder SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab provides a way to search a file in your repository in one keystroke. Read about the file finder in our documentation Fast-forward merge with option to rebase SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE With this setting at the project level, you can ensure that no merge commits are created and all merges are fast-forwarded. When a fast-forward merge is not possible, the user is given the option to rebase. Learn more about rebase before merge Squash and merge SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Combine commits into one so that main branch has a simpler to follow and revert history. Learn more about squash and merge Reject unsigned commits SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab Premium allows you to enforce GPG signatures by rejecting unsigned commits. Read more about enforcing push rules Verified Committer SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Verify that a push only contains commits by the same user performing the push. In development for GitLab. Follow this link for more information. Cherry-picking changes SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Cherry-pick any commit in the UI by simply clicking the Cherry-Pick button in a merged merge request or a specific commit. Learn more about cherry picking merge requests GPG Signed Commits SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Sign commits and prove that a commit was performed by a certain user. Read more about GPG signed commits X.509 Signed Commits and Tags SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Sign commits and prove that a commit was performed by a certain user. Read more about X.509 signed commits and tags Restrict push and merge access SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Extend the base functionality of protected branches and choose which users can push or merge to a protected branch. Read about protected branches Protected tags SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Granular permissions for tags you want to protect. Read about protected tags S/MIME Signed Commits SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Sign commits and prove that a commit was performed by a certain user. Read more about S/MIME signed commits Optional Merge Request Approvals SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Code review is an essential practice of every successful project, and giving your approval once a merge request is in good shape is an important part of the review process, as it clearly communicates the ability to merge the change. Learn more about optional merge request approvals Image Discussions SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Within a commit view or a merge request diff view, and with respect to a specific location of an image, you can have a resolvable discussion. Have multiple discussions specifying different areas of an image. Image Discussions Merge Request Commit Discussions SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Comment on a commit within the context of a merge request itself Merge Request Commit Discussions Create merge request from email SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Create a merge request from email by sending in the merge request title, description, and source branch name. Alternatively use patch files to create a merge request without first pushing a branch. Create merge request from email First time contributor badge SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Highlight first-time contributors in a project. Cleaner diffs for Jupyter Notebook files SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab automatically strips out the noise and displays a cleaner version of the diff for these files. Human-readable diffs make it easier to review the substance of the change, without worrying about the formatting pieces that Jupyter Notebooks need. Cleaner diffs Clone project inside Visual Studio Code SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Use the Git: Clone command in VS Code to search for projects in GitLab and clone them locally, so you can quickly begin contributing in VS Code. Read about cloning projects in VS Code Open project in Visual Studio Code SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Use the clone dropdown for a project and choose to open the project in Visual Studio Code. Clone and open in VS Code Insert Snippets directly in Visual Studio Code SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Insert snippets stored in GitLab directly into your working file in VS Code. Insert snippets in VS Code View issues and merge requests in Visual Studio Code SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE View issues and merge requests directly in VS Code for easy access and collaboration. This gives quick access to the information needed, and the ability to respond directly to issues and merge requests via comments. View issues and merge requests in VS Code View merge request changes in VS Code SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE View the changes for merge requests directly in VS Code with familiar layout and diff interfaces. Merge request changes in VS Code Autocomplete GitLab CI Variables in VS Code SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE VS Code provides auto-completion for predefined environment variables when editing your .gitlab-ci.yml file. Tooltips in the auto-complete dialog provide information on what the variable can be used for, and information on supported GitLab and Runner versions. CI Variable completion in VS Code View code review comments in VS Code SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE See merge request comments on diffs directly in VS Code when reviewing a merge request. Merge request reviews in VS Code Merge request reviews in VS Code SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE The sidebar in VS Code contains a list of all the changed files in the merge request. Selecting files opens a diff comparison for you to review the changes in VS Code. While viewing the diff, you can read feedback left on the files, and create new comments by selecting a line number and creating your comment. All comments and feedback you provide in VS Code are available in the GitLab web interface, making it easy for you to perform your reviews in VS Code, and other users to participate in GitLab. Merge request reviews in VS Code Comments indicator for merge request reviews in VS Code SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE When reviewing a merge request, files with a comment have an additional indicator to easily identify feedback. Merge request reviews in VS Code Check out branches of merge requests in Visual Studio Code SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE When reviewing a merge request you can right click to check out the branch locally for easier review and testing. Merge request reviews in VS Code Create and apply patches in VS Code SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Create and apply patches directly in Visual Studio Code. The new GitLab: Create snippet patch command creates a patch with the changes in your editor and uploads that patch as a GitLab snippet. Anyone can search for patches in the project’s snippets and apply them directly in VS Code with the GitLab: Apply snippet patch command. The applied changes can then be committed to the MR. Create and apply patch in VS Code Remote Repositories for GitLab in VS Code SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Remote repositories allow you to browse a read-only version of a project in your familiar VS Code environment. You can then quickly find the information you’re looking for, compare an implementation, or copy a snippet you need. Remote Repositories for GitLab Deduplicate Git objects for forked repositories SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Reduce disk storage requirements of forked Git repositories by pooling Git objects. Read about Git object pools Variable replication factor SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Allow configuration of a per-repository replication factor for repositories stored in the Gitaly Cluster. Web IDE SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Contribute to projects faster by using the Web IDE to avoid context switching in your local development environment. The Web IDE is integrated with merge requests and GitLab CI so that you can resolve feedback, fix failing tests and preview changes live with client side evaluation without leaving the Web IDE. Learn more about the Web IDE Live Preview in the Web IDE SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Preview changes as you make them to your JavaScript and static HTML projects with Live Preview in the Web IDE. Learn more about the Web IDE Web Terminal for Web IDE SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Interact with your code in a Web Terminal in the Web IDE to inspect API responses, experiment in a REPL, or compile your code. Learn more about the Web IDE Web Terminal File Syncing to Web Terminal SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Changes made in the Web IDE will now be synced to the Web Terminal. User changes made in the Web IDE can now be tested within the Web Terminal before committing them to the project. Learn more about File Syncing to Web Terminal EditorConfig in the Web IDE SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE The Web IDE supports the use of .editorconfig files in projects for standardizing coding style of all users working on the project. This helps to easily keep consistency and quality throughout the project. Learn more about configuring the Web IDE Paste images in Markdown in the Web IDE SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE When editing Markdown files in the Web IDE you can now paste images into the content so that they’ll be automatically uploaded and referenced in the content. Learn more about Markdown editing in the Web IDE Real-time feedback for .gitlab-ci.yml in Web IDE SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE To make it easier to configure your GitLab CI pipeline, the Web IDE now provides real-time linting and completion when editing .gitlab-ci.yml files. Learn more about .gitlab-ci.yml editing feedback in the Web IDE Wiki based project documentation SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE A separate system for documentation called Wiki, is built right into each GitLab project. Every Wiki is a separate Git repository. Learn more about GitLab Wikis Design Management SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Design Management allows users to upload design assets (such as wireframes and mockups) to GitLab Issues and keep them stored in one single place, giving product designers, managers, and engineers a seamless way to collaborate on design proposals. They can be easily uploaded and are stored in versions. You can start a thread by clicking on the image on the exact location you would like the discussion to be focused on. Documentation GitLab-Figma Plugin SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Our Figma plugin allows you to upload Figma frames and components to GitLab issues. Documentation Preview your changes with Review Apps SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE With GitLab CI/CD you can create a new environment for each one of your branches, speeding up your development process. Spin up dynamic environments for your merge requests with the ability to preview your branch in a live environment. Review Apps support both static and dynamic URLs. Learn more about Review Apps Limit project size at a global, group, and project level SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Ensure that disk space usage is under control. Learn more about project size limiting Merge Requests SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Create merge requests and @mention team members to review and safely merge your changes. Learn more about merge requests Merge conflict resolution SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Preview merge conflicts in the GitLab UI and tell Git which version to use. Learn more about the merge conflict resolution UI Merge when pipeline succeeds SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE When reviewing a merge request that looks ready to merge but still has one or more CI/CD jobs running, you can set it to be merged automatically when the jobs pipeline succeeds with a single click. No configuration required. Learn more about Merge when pipeline succeeds Revert specific commits or a merge request from the UI SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Revert any commit or a single merge request from GitLab’s UI, with a click of a button. Learn how to revert a commit or a merge request from the GitLab UI. Merge request versions SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE View and compare merge request diffs from the merge request UI. Learn more about merge request versions Inline commenting and discussion resolution SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Code or text review is faster and more effective with inline comments in merge requests. Leave comments and resolve discussions on specific lines of code. In GitLab, Merge Request inline comments are interpreted as a discussion and can be left on any line, changed or unchanged. You can configure your project to only accept merge requests when all discussions are resolved. Learn more about resolving discussions Activity Stream SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE View a list of the latest commits, merges, comments, and team members on your project. Learn more about the Activity Stream Draft merge requests SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Prevent merge requests from accidentally being accepted before they’re completely ready by marking them as Draft. This gives you all the code review power of merge requests, while protecting unfinished work. Learn more about Draft MRs Built-in and custom project templates SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE When creating a new project, you can choose to kickstart your project from a predefined template that already has some working example code and CI preconfigured. In addition, you can define a custom project templates by assigning a group. Child projects of this group are available as templates when creating a new project. Read more about Project templates Vulnerability Management SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Empower your entire team, and not just Security, to act on security findings with a unified interface for scan results from all GitLab Security scanners. Learn more about Vulnerability Management Create projects with Git push SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Push new projects to the desired location and a new private project will automatically be created. Learn more about creating Projects Pipeline status visible in pull/merge request SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Status and results of pipeline runs are viewable at least in summary from the merge/pull request that they are part of. Twitter Facebook YouTube LinkedIn Why GitLab? Product Solutions Services DevOps tools Is it any good? Releases Pricing Get started Resources All resources All-Remote Blog Newsletter Events Webcasts Topics Training Docs Developer Portal Install Community Customers Contribute Community Programs Direction Technology Partners Channel Partners Open Source Partners GitLab for Open Source GitLab for Education GitLab for Startups Shop Community Forum Support Get help Contact Sales Contact Support Support options Status Customers Portal Company About What is GitLab? Jobs Culture Leadership Team Press Investor Relations Analysts Handbook Security Contact Terms Privacy Cookie Preferences Trademark Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license View page source — Edit in Web IDE — please contribute. © 2021 GitLab B.V. This website uses cookies We use cookies to make our websites and services operate correctly, to understand how visitors engage with us and to improve our product and marketing efforts. See our cookie policy for more information.Cookie Policy Cookies Settings Accept All Cookies