GitLab kun je vergelijken met het bekendere GitHub, maar bevat een aantal subtiele verschillen. Het is een omgeving voor het beheren van Git-repositories on-premises. Het wordt uitgegeven onder de MIT Expat-licentie en ontwikkeld in Ruby on Rails. Het is beschikbaar in twee versies, namelijk de gratis te gebruiken Community Edition en een betaalde Enterprise Edition met meer functies die op grote bedrijven zijn gericht. De twee smaken worden op deze pagina uiteengezet. Het ontwikkelteam heeft GitLab 9.4 uitgebracht met de volgende aankondiging:
GitLab 9.4 Released with Related Issues and Web Application Monitoring
Surprise is harder to achieve when you do everything in the open. But working in the open gives us the power to tell you why we're shipping what we're releasing today and how this release is setting up GitLab for something even better in the future.
GitLab 9.4 lays the foundation of much that is to come, while still giving you some new powers today. You can now formally relate issues to each other, our out-of-the-box-magic monitoring now collects many more metrics without any configuration and we've quadrupled the things you can do with variables in CI.
On top of this, we're giving you an actual glimpse into the future with a opt-in Beta of our new navigation. We hope that we can work with you to make it an improvement everyone loves.
We are also thrilled to announce that we are shipping a GitLab PowerUp for Trello, making it easy for you to integrate your Trello boards with GitLab!
Additionally, to empower our integrations set, we're keen to make your life easier with our new Slack App for GitLab.com!
And if one glimpse doesn't suffice, we're aiming to fully automate the configuration of your DevOps toolchain with the vision of Auto DevOps, which will analyze your application and automatically configure your CI/CD pipeline to build, test, and deploy to Kubernetes. To see where we’re heading, check out our vision for Auto DevOps!
Related Issues EES EEP
Whenever you share a link from one issue to another, GitLab shortens it and crosslinks it automatically. But when issues get longer and projects more complex, it becomes hard to manage links and quickly find related issues. To solve this problem, we’re introducing Related issues. With Related issues, you can formally declare another issue as related. A link to the other issue, its status and name will be shown in each issue. Simply paste a link to the issue you want to link or search for it by typing # (as you were able to do already) to link it. In the future, we will introduce different types of relationships through this mechanism.
New Navigation CE EES EEP
To make it easier and faster to get around GitLab, we’re working on updating our navigation. Because a new navigation can be a big disruption, we’re releasing the first step as an opt-in configuration with GitLab 9.4. To enable the new navigation, click on your profile image in the top right corner and choose Turn on new navigation. We have made adjustments to the global top navigation and introduced contextual navigation in the left menu depending on what page you are currently viewing. The new UI is still a work in progress and will replace the existing navigation in the next few months, please see our blog post about our process and what work still needs to be done.
Web Application Monitoring CE EES EEP
As part of GitLab 9.0 we launched system performance management integrated with CI/CD deployments, monitoring deployed applications on Kubernetes by tracking CPU and Memory utilization. This was a great first step, and with GitLab 9.4 we are excited to launch Web Application Monitoring with support beyond Kubernetes. GitLab will now automatically detect key user experience indicators like throughput, error rate, and latency. Simply connect Prometheus to a supported load balancer or HTTP server, and it will identify and begin tracking these statistics. Delivering a great experience is everyone’s responsibility, and GitLab is making this easier by closing the performance feedback loop in the tool developers use every day.
Group-level Secret Variables CE EES EEP
Secret variables are really useful when you need a safe place to store sensitive information. Until now, secret variables were stored at the project level. However, we know its common for different projects in the same group to share information on deployment or credentials for accessing external services. Group-level Secret Variables remove the need to duplicate variables from one project to the next: now you can enter these values once, and each project or subgroup in the group will access them automatically. It’s also really simple to update these values. You just change them in one place and they’ll be automatically modified for all of the projects.
Variables in Pipeline Schedules CE EES EEP
In GitLab 9.2 we introduced Pipeline Schedules to automatically run pipelines at a specific interval of time, but most teams also want to specify different values for specific variables when running the schedule. In GitLab 9.4, we’ve added the ability to define variables when creating or modifying a pipeline schedule: these values will be added to all the other variables already defined. Using this feature, you can also redefine existing variables to have a different value only for that specific run, for example if you want to have a “daily” pipeline running some tests in a different way.
Environment-specific Secret Variables EEP
Variables are often the right solution to define values that are then used during deployments to specific environments. Since different environments (e.g.: staging and production) may require different values for the same task, such as the app name, it is important to create a direct binding between some variables and the related environment. With GitLab 9.4, Environment-specific Variables are introduced to solve this issue, as developers can now define which environments will receive a variable, even using wildcards to include dynamic environments, like `review/*. It is now easy to deploy to different environments with a minimal effort!
GitLab Power-Up for Trello CE EES EEP
Using both Trello and GitLab? Now you can make that experience even better with the new GitLab Power-Up! In Trello, when viewing one of your boards, simply go to Power-Ups and scroll to the GitLab Power-Up. After set-up, you will be able to attach merge requests to Trello cards. In Trello, you will need to configure your domain, such as gitlab.com/api/v4 for GitLab.com, and add your personal token.
GitLab Slack App for GitLab.com CE EES EEP
GitLab already integrated deeply with Slack (and Mattermost, Microsoft Teams, and HipChat), but we didn’t have an app in the Slack App Directory yet. Today we do! That means setting up Slack integration with your projects on GitLab.com is now much easier. You can set it up from your project settings in GitLab (Settings > Integrations). Soon it will be available from the Slack App directory as well. We’re working together with Slack on making sure private instances will be able to use the same Slack App in the near future. Of course, private instances are able to integrate with Slack using the manual steps outlined in the documentation.
Other Improvements in GitLab 9.4
- Improved Internationalization CE EES EEP
- Unified Slack Interface CE EES EEP
- Group Milestones CE EES EEP
- Additional GitLab Service Metrics CE EES EEP
- Customizable Path for CI/CD Configuration CE EES EEP
- New Cache Policy for CI/CD Configuration CE EES EEP
- Extended Docker Configuration for CI/CD CE EES EEP
- Improved Prometheus Monitoring of Kubernetes Deployments CE EES EEP
- Upcoming Omnibus Package Signing CE EES EEP
- Security - Add LDAP SSL Certificate Verification CE EES EEP
- GitLab Runner 9.4 CE EES EEP
- GitLab Mattermost 4.0 CE EES EEP
- Omnibus Improvements CE EES EEP
- Performance Improvements CE EES EEP
- Experimental PostgreSQL High Availability EEP
- Mini-Graph for Multi-Project Pipelines EEP
- GitLab Geo Improvements EEP
- Object Storage for CI Artifacts EEP
- openSUSE 42.1
As the openSUSE community has ended support for version 42.1, GitLab has ended support as well as previously announced. Please upgrade to OpenSUSE 42.2 which is officially supported.
- GitLab CI API v1, GitLab Runner 1.11.x
In 9.0 we released a new version of GitLab Runner that is based on the new API v4 instead of the old CI API v1. We are still supporting the old version of the API in GitLab, so users that are still using GitLab Runners 1.11.x can take their time for the migration process. With GitLab 9.6, planned to be shipped on September 22nd, we are going to remove the old CI API from GitLab, making GitLab Runner 1.11.x unable to communicate with the system. If you are using old GitLab Runner (<9.0), or any tools that are using GitLab CI API v1, an upgrade will be required.
To upgrade to GitLab 9.4 from the latest 9.3 version, no downtime is required. For this release we have migrations, post-deploy migrations, and to help with the larger migrations we have introduced background migrations. GitLab.com migrations took approximately 24 minutes and post-deploy migrations amounted for a total of around 54 minutes. Background migrations on the other hand are sidekiq jobs that will run synchronously, for this release these migrations took around two days to complete, no side effects were expected nor present, these target older pipeline builds so newer executed pipelines are not affected. GitLab Geo users, please consult the documentation on upgrading Geo.