GitLab Overview (Video)

Learn in 12 minutes how GitLab drives end-to-end software development lifecycles.


Some 12,000 people descended on San Diego today for KubeCon/CloudNativeCon. It’s fair to say this is more than a conference – it’s a movement of sorts. And it’s about much more than Kubernetes. The keynote especially was about many CNCF projects, including CoreDNS, Vitess, LinkerD, Jaeger, Open Policy Agent, and Etcd. It’s not clear to me how widely used each of those other projects is, but many of them have corporate backing. [Read More]


GitLab Pages is a powerful system for managing, editing and publishing static content web sites. Here’s a little insight into how it works. First, Pages depends on GitLab CI to generate the HTML for the site when changes are made in the Git repo. The CI templates are public. This site uses the Hugo framework, so its CI configuration is based on the Hugo Pages template. Of course, the code there isn’t very interesting, for example: [Read More]

Jenkins Versions

There’s a lot of confusion about the different version of Jenkins, some of it stemming from the now-famous blog post Jenkins: Shifting Gears by Kohsuke Kawaguchi, the creator of Jenkins itself. I asked around at GitLab to learn more about the context today for Jenkins and CloudBees. The majority of Jenkins installation are Jenkins 2, the mainstream Jenkins open source product. They ran with version 1.x for many years, before switching version to Jenkins 2. [Read More]

Authenticate to GitLab API from a Pages site

It’s often desirable to have a form in a GitLab Pages site that drives some GitLab functionality. Because Pages sites are completely static, there’s no server-side code to hold an API token. And it’s poor security practice to transmit the token to the client in Javascript, because that gives any hacker access to that token to use however they choose. NOTE: This is a work in progress The key is to use the OAuth2 Implicit Grant Flow to access the GitLab API from a Pages site. [Read More]

Jira two-way integration with GitLab

GitLab’s powerful Jira integration allows the customer to use Jira instead of GitLab for issues. That’s great for teams committed to using Jira, but bypasses all the power of GitLab Issues. One customer took the integration a step further. They created a service that listens for web hooks from Jira and GitLab, then acts as a go-between. So when an issue changes on either side, the other side is updated. [Read More]

The Root User

A new self-managed GitLab installation comes with a “root user” which is really a GitLab user record that can be used to sign in to GitLab with administrator privileges the first time. Personally, I prefer to use the phrase “bootstrap user” for this rather than “root”. How to Identify the Root User We expect the “root user” to be either the user with ID 1 or with the email address “admin@example. [Read More]