GitLab is AWESOME!

GitLab 9 is AWESOME!

GitLab 9 is AWESOME!Two weeks ago today, GitLab 9 was released to the public. I’m a huge fan of GitLab and have been using it exclusively for the past three years. I came across GitLab while searching for a version control solution that allowed free private repositories. I wanted a solution just like GitHub but I didn’t want to pay almost as much as my NetFlix subscription costs each month just to enable private repositories. I tried out BitBucket which was really quite nice but I ran into their strict storage limits. BitBucket has a soft-limit of 1GB per repository and a hard-limit of 2GB per repository. What that means if you have a repository that exceeds 1GB you will be nagged each time you login about the size of your repository. If you reach 2GB, you will no longer be able to push to the repository. I know there are some who will say that you should never have repositories that large and yada yada but I like to have my web projects setup using one repository per domain and then I have branches for production, staging and sources. Needless to say that can add up to well over 1GB rather quickly. I began searching for other alternatives that had private repositories and generous storage limits, enter GitLab.

My initial attraction to GitLab was it’s free private repositories offer. Having the ability to host a private repository on GitHub is going to cost you seven dollars a month. If you are a student, there is an exclusion to that marketing scam, but for the rest of us your going to have to pay almost as much as you would for NetFlix each month just to host any code that isn’t for public eyes on GitHub.

GitLab.com offers unlimited public and private repositories with 10GB of storage per repository! You can import any of your existing projects from your hard drive, GitHub, BitBucket or any repository at all that has a URL. GitLab 9 includes the new Deploy Boards feature that give you real-time status updates on all of your continuous integration projects running on Kubernetes. You can even create Git issues from a chat now.

If you want the ability to tweak your GitLab instance and/or remove the storage limits, you should check out the GitLab Community Edition. There is an omnibus installer package available for all major Linux distributions. Using the GitLab Community Edition, you can host and administer your own Git site. You can literally be up and running with GitLab CE in a matter of minutes and from my experience it’s extremely stable. I have a GitLab CE instance that started on GitLab 8 and it has been stable and online ever since. It will be two years this coming September that my GitLab CE instance has been running stable, upgrading along the way to each new release without issue. I’m currently running the latest 9.0.2 version.

I’ve said a lot of great things about GitLab in this article, after all I’m a huge fan of GitLab and the GitLab team. I do however, have one gripe with GitLab 9. That is since GitLab 9 you can no longer pin your sidebar on the left like I have become accustomed to for well over a year now. Vexed by the inability to have my GitLab sidebar, I began searching for a CSS override that would remedy the situation. I quickly found one and gave it a few tweaks of my own. The results were pretty cool and I’m back in business with my sidebar! In case there is anyone out there reading this that also enjoyed the pinnable sidebar of GitLab 8.x the solution is to install Stylish for either Chrome, Firefox or Safari. If your not already familiar with Stylish let me explain. Stylish is a browser add-on that lets you provide your own custom stylesheet for any website you like. You essentially get the ability to customize the design of any website you want.

To restore the pinned sidebar in GitLab 9, create a new style with Stylish for GitLab.com (or the URL of your GitLab CE instance) and add the following CSS:

@namespace url(https://www.w3.org/1999/xhtml);

body {
font-family: 'Consolas', serif !important;
}

.dropdown-menu-nav.global-dropdown-menu {
display: block;
position: fixed;
left: 0;
top: 0;
height: 100%;
margin-top: -1px;
border-radius: 0;
}

header .header-content {
padding-left: 240px;
}

.btn:hover {
border-radius: 3px;
font-size: 14px;
font-weight: 400;
padding: 6px 10px;
background-color: #249350;
border-color: #e5e5e5;
color: rgba(0, 0, 0, 0.85);
color: rgba(0, 0, 0, 0.85)
}

.page-with-sidebar {
margin-left: 240px;
}

.dropdown-menu a:hover, .dropdown-menu a:focus, .dropdown-menu a.is-focused, .dropdown-menu-nav a:hover, .dropdown-menu-nav a:focus, .dropdown-menu-nav a.is-focused {
background-color: #f7faff;
text-decoration: none;
color: #000;
}

.dropdown-menu-nav.global-dropdown-menu {
display: block;
position: fixed;
left: 0;
top: 0;
height: 100%;
margin-top: -1px;
border-radius: 0;
background-color: #000;
font-family: 'Consolas', serif;
}

.dropdown-menu a, .dropdown-menu-nav a {
display: block;
position: relative;
padding: 5px 8px;
color: #FFF;
line-height: initial;
text-overflow: ellipsis;
border-radius: 2px;
white-space: nowrap;
overflow: hidden;
font-weight: bold !important;
font-size: 1.19em;
}

.dropdown-menu, .dropdown-menu-nav {
display: none;
position: absolute;
top: 100%;
left: 10;
right: 100;
z-index: 9;
min-width: 240px;
margin-top: 2px;
margin-bottom: 0;
font-size: 14px;
font-weight: normal;
padding: 8px 0;
background-color: #000;
border: 1px solid #e5e5e5;
border-radius: 3px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1)
}

 

 

DIGITAL PCI © 2018