iPrompted Had To Use Gitlab & We're Glad We Did

3/7/2019

2 guys that wanted to leverage technology to actually accomplish the things we set out to accomplish.

I'm a product manager (Matt) and Jon is a full stack javascript developer. We both work together at BigCo and have opinions on how'd we do things if we were in charge. Naturally, when creating a project of our own, our opinions regarding the right way to do things were important. Jon wanted to make the most of the side project, leveraging the stack and tools he wished he could use every day and me, I'm trying to get an MVP out the door (I'd learned the hard way about building Rome, only to never actually get any customer validation / traction).

Now, there are a lot of tools out there, many free, or with free tiers. So, to narrow down the field, we started with our requirements:

  • a local dev, stage and prod environment
  • git
  • comms
  • CI
  • PAAS infrastructure
  • Workflow management

and a few core beliefs:

  • Free is better than paid
  • Automate as much as possible
  • Focus on the here and now, with one eye on the future
  • Customer validation is our.first priority

There was another less important, but definitely present criteria, if we could use interesting new technology that we'd like to learn about, we should, at some point.

Now, Jon is the type of person that has spun up a ton of environments and it's nothing to stand up our own server and install git and install a CI tool, wire it to a PAAS or IAAS and get things going, when working on a side project, that time is time away from the product. And we wanted to minimize the experience of chasing down environment errors. There's nothing worse than finally finding time to work on your side project and burning that time troubleshooting integrations. So, there was a lot of appeal to finding something that just works.

While figuring all this out, I happened to discuss this with my wife Jamie. While some problems tend to solve themselves, this one, Jamie solved for me. She works at GitLab, so that's what we'll use. And we're glad we did.

From a workflow perspective, especially with recent updates, I'm very pleased with the issue boards and workflow capabilities. Issue creation is simple, labels are easy, assigning is great and they have an intuitive issue branching supporting interface.

GitLab's CI was a real find. Simple. Powerful. And could easily support much more than I project will be, for a long, long, time. And that's a theme that we've begun to see recur, over and over again.

Currently, we stood up our prod and stage environments on Heroku; it's quick to setup and not too expensive for our MVP / early stage. However, we recognize that we'd like to eventually containerize and move to Kubernetes. Gitlab's integration with Heroku is simple and when we get around to a Kubernetes migration, that have some first order integrations and features that make that easy. The runners, container registry, testing features and much more, when we get there, make the offering very compelling. No significant tooling or configuration required.

Those are just the features we're using today and planning to use tomorrow. However, if our project grows legs, GitLab continues to have, and develop, feature after feature that will allow us to grow with very little effort. CVE checking and static analysis are already built in. IAM support. Auto-Rollback of deployments.

For a startup with big dreams, we'll get a lot of mileage out of GitLab without having to worry about integrating and supporting an development / workflow series of tools.

GitLab allows us to just focus on building our product

It's that simple.