This is the vision for the end of 2018.
GitLab reimagines the scope of DevOps tooling to include developers, operations, and security teams in one single application. This dramatically reduces friction, increases collaboration, and drives a competitive advantage. Doing away with context switching and having all of the necessary information in one place closes the loop and enables a better understanding of each team's needs.
To make our vision a reality, we're working on a number of new features and improving on existing ones. This page describes the Product Vision for 2018. Internally, we're intending on implementing everything in here before the 2018 summit, scheduled for Aug 23, 2018. Of course that's incredibly aggressive, so as a customer or prospect, please don't count on that date. Some of these might only get to a minimal, or even just a demoable state by then.
Many of the issues describe development of an n-tier web app, but could equally be applied to an iOS app, Ruby gem, static website, or other type of project.
Grouping is based on stages in the DevOps Toolchain and our product categories, including several new ones for 2018. Also see our blog post on the complete DevOps vision. Or see the open issues for
Product Vision 2018.
The Plan stage is about capturing ideas, organizing issues and epics, scheduling work, and communicating plans.
Milestones UX improvements
Group milestones parity with project milestones
(Closed) Labels UX improvements
Import Jira issues to GitLab issues Premium
(Closed) Subgroup support for issues, merge requests, labels, and milestones
Jira development panel integration Premium
Manage issues within epic Ultimate
Filtered roadmaps across time
Group milestone as a release (in addition to a sprint) Ultimate
Capacity planning Ultimate
(Closed) Team dashboard
The Create stage is about creating, collaborating, and managing content; often source code, but increasingly other content such as design files.
|Bulk review||Web IDE|
Image discussion in merge request diff
Approvals in merge request list
Increase approvals usage
Viewing a large diff of a single file
Batch comments on merge requests Premium
Commenting on a changed image in a merge request diff
COMPLETE: Web IDE editor beta
COMPLETE: Web IDE editor
Integrate Web IDE with CI/CD
Integrate Web IDE with merge requests
Run tests in the web terminal in the Web IDE Ultimate
Preview web applications in the Web IDE Ultimate
Split containers: separate dev / prod containers
WebIDE client evaluation with live preview
Web Terminal with persistent disk Ultimate
Cloud development with a web IDE Ultimate
The Verify stage is all about making sure that your code does what you expected it to do, meets quality standards, and is secure; all via automated testing. We bring best practices from top development teams, and make them the easy, default way to work. But of course you can build on those defaults and customize as needed for your company.
GitLab CI provides an explicit
build stage and the concept of build artifacts, but we might need to separate out the build artifacts from test artifacts. For example, you might want your test runner to create a JUnit-style output file which is available for external consumption, but not included in the build image sent to production. Creation of an explicit build aligns well with Docker where the result of the build stage is a Docker image which is stored in a registry and later pulled for testing and deployment.
Code Quality Premium
Browser testing with Selenium Premium
Flaky tests management Premium
Manage code coverage reports Premium
Code Quality in diffs and pipelines views Starter
Improve speed of CI
JUnit XML Test Summary In MR widget
Code Quality++ Premium
A key part of CD is being able to deploy. We currently have the ability via scripts in the
deploy stage in
.gitlab-ci.yml. We will go further.
Deploy boards Premium
Canary deployments Premium
Release train Premium
Incremental rollouts (manual) Premium
Automatic rollback of deployments if error rate is too high Premium
Pipeline view of environments
Group-level Environments page Premium
Create an Application Control Panel for easy configuration of app behavior
GitLab PaaS Premium
Autoscaling deployments based on CPU usage Premium
Pause idle deployments Premium
Auto DevOps Generally Available
Support multiple databases for Auto DevOps
Automatically detect and enable services when deploying applications
Rename "secret variables" to "variables"
Scale deployments directly from the environment page Premium
There's a big benefit to decoupling deployment of code from delivery of a feature, mostly using feature flags. Continuous integration helps improve the speed of development, but feature flags take it to another level, giving you the confidence to integrate code even more often while providing a gradual and granular method for delivery.
Performance is a critical aspect of the user experience, and ensuring your application is responsive and available is everyone's responsibility. We want to help address this need for development teams, by integrating key performance analytics and feedback into the tool developers already use every day.
Going further, we want you to be able to track changes in your production infrastructure, availability, and uptime; error/exception tracking; and aggregated logs.
As part of our commitment to performance we are also deeply instrumenting GitLab itself, enabling our team to improve GitLab peformance and for customers to more easily manage their deployments.
Load/performance testing and impact of merge request Premium
Automated anomaly detection and alerting Ultimate
Operations Dashboard Ultimate
Custom metrics Premium
Error Tracking Ultimate
Auto remediate security vulnerabilities Ultimate
Support the most common languages in SAST Ultimate
Security Dashboard MVC Ultimate
Security Scanning in Registry Ultimate
Auto SAST Ultimate
Show SAST results in MR widget Ultimate
Application Security Testing (SAST, DAST) Ultimate
Group security issues panels in the MR widget Ultimate
Add Gemnasium dependency check to SAST Ultimate
License Management Ultimate
Not a lifecycle stage, but part of our 2018 plan
Not a lifecycle stage, but part of our 2018 plan
GitLab is the engine that powers many companies' software businesses so it is important to ensure it is as easy as possible to deploy, maintain, and stay up to date.
Today we have a mature and easy to use Omnibus-based build system, which is the foundation for nearly all methods of deploying GitLab. It includes everything a customer needs to run GitLab all in a single package, and is great for installing on virtual machines or real hardware. We are committed to making our package easier to work with, highly available, as well as offering automated deployments on cloud providers like AWS.
We also want GitLab to be the best cloud native development tool, and offering a great cloud native deployment is a key part of that. We are focused on offering a flexible and scalable container-based deployment on Kubernetes, by using enterprise grade Helm Charts.
Instant SSL with Let's Encrypt
GitLab Web Admin Portal
Create AWS CloudFormation template
Getting Started Guide / Curated Deployment Methods
[Meta] Instant SSL for GitLab via Let's Encrypt
[Meta] GitLab HA improvements post GA Premium