GitLab is an intelligent orchestration platform for DevSecOps, where software teams enable AI at every stage of the software lifecycle to ship faster. The platform enables teams to automate repetitive tasks across planning, building, securing, testing, deploying, and maintaining software.
$0
per month per user
GoCD
Score 8.0 out of 10
N/A
GoCD, from ThoughtWorks in Chicago, is an application lifecycle management and development tool.
N/A
HashiCorp Nomad
Score 8.0 out of 10
N/A
Nomad, from HashiCorp, is presented as a simple, flexible, and production-grade workload orchestrator that enables organizations to deploy, manage, and scale any application, containerized, legacy or batch jobs, across multiple regions, on private and public clouds. Nomad's workload support enables an organization to run containerized, non containerized, and batch applications through a single workflow. Nomad is available open source, or via a supported enterprise plan.
N/A
Pricing
GitLab
GoCD
HashiCorp Nomad
Editions & Modules
GitLab Free (self-managed)
$0
GitLab Free
$0
GitLab Premium
$29
per month per user
GitLab Premium (self-managed)
$29
per month per user
GitLab Ultimate
Contact Sales
GitLab Ultimate (self-managed)
Contact Sales
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
GitLab
GoCD
HashiCorp Nomad
Free Trial
Yes
No
No
Free/Freemium Version
Yes
No
Yes
Premium Consulting/Integration Services
Yes
No
No
Entry-level Setup Fee
Optional
No setup fee
No setup fee
Additional Details
GitLab Credits enable flexible, consumption-based access to agentic AI capabilities in the GitLab platform, allowing you to scale AI adoption at your own pace while maintaining cost predictability. Powered by Duo Agent Platform, GitLab’s agentic AI capabilities help software teams to collaborate at AI speed, without compromising quality and enterprise security.
If usage exceeds monthly allocations and overage terms are accepted, automated on-demand billing activates without service interruption, so your developers never lose access to AI capabilities they need.
Real-time dashboards provide transparency into AI consumption patterns. Software teams can see usage across users, projects, and groups with granular attribution for cost allocation. Automated threshold alerts facilitate proactive planning. Advanced analytics deliver trending, forecasting, and FinOps integration.
GitLab is good if you work a lot with code and do complex repository actions. It gives you a very good overview of what were the states of your branches and the files in them at different stages in time. It's also way easier and more efficient to write pipelines for CI\CD. It's easier to read and it's easier to write them. It takes fewer clicks to achieve the same things with GitLab than it does for competitor products.
Previously, our team used Jenkins. However, since it's a shared deployment resource we don't have admin access. We tried GoCD as it's open source and we really like. We set up our deployment pipeline to run whenever codes are merged to master, run the unit test and revert back if it doesn't pass. Once it's deployed to the staging environment, we can simply do 1-click to deploy the appropriate version to production. We use this to deploy to an on-prem server and also AWS. Some deployment pipelines use custom Powershell script for.Net application, some others use Bash script to execute the docker push and cloud formation template to build elastic beanstalk.
Nomad is well suited for organizations who wish to tackle the problem of cloud computing with as little opinion as possible. Where competing tools like Kubernetes limit the concept of "batteries included," Nomad relies on engineers understanding the missing components and filling them in as necessary. The benefit of Nomad is the ability to build a system out of small pieces with the cost of having more complexity at a system level compared to alternatives.
Pipeline-as-Code works really well. All our pipelines are defined in yml files, which are checked into SCM.
The ability to link multiple pipelines together is really cool. Later pipelines can declare a dependency to pick up the build artifacts of earlier ones.
Agents definition is really great. We can define multiple different kinds of environments to best suit our diverse build systems.
Nomad only handles one part of a full platform. Expertise and vision are required in implementing an entire system that is functional enough for an organization to rely on. This includes other tools to handle things like secrets, service discovery, network routing, etc.
Nomad is delayed in some modern functionality, like features for service-mesh and open tracing. These features are on the tool's roadmap, but there's currently no native support. These paradigms can be established still, but require more expertise outside of Nomad itself.
Nomad is not the leading tool for this space, and as such risks being left behind by tools with much greater support, such as Kubernetes.
I really feel the platform has matured quite faster than others, and it is always at the top of its game compared to the different vendors like GitHub, Azure pipelines, CircleCI, Travis, Jenkins. Since it provides, agents, CI/CD, repository hosting, Secrets management, user management, and Single Sign on; among other features
I find it easy to use, I haven't had to do the integration work, so that's why it is a 9/10, cause I can't speak to how easy that part was or the initial set up, but day to day use is great!
I've never had experienced outages from GItlab itself, but regarding the code I have deployed to Gitlab, the history helps a lot to trace the cause of the issue or performing a rollback to go back to a working version
GItlab reponsiveness is amazing, has never left me IDLE. I've never had issues even with complex projects. I have not experienced any issues when integrating it with agents for example or SSO
At this point, I do not have much experience with Gitlab support as I have never had to engage them. They have documentation that is helpful, not quite as extensive as other documentation, but helpful nonetheless. They also seem to be relatively responsive on social media platforms (twitter) and really thrived when GitHub was acquired by Microsoft
Gitlab seems more cutting-edge than GitHub; however, its AI tools are not yet as mature as those of CoPilot. It feels like the next-generation product, so as we selected a tool for our startup, we decided to invest in the disruptor in the space. While there are fewer out-of-the-box templates for Gitlab, we have never discovered a lack of feature parity.
GoCD is easier to setup, but harder to customize at runtime. There's no way to trigger a pipeline with custom parameters.
Jenkins is more flexible at runtime. You can define multiple user-provided parameters so when user needs to trigger a build, there's a form for him/her to input the parameters.
Nomad's primary competitor is Kubernetes, specifically its scheduling component. Kubernetes is a much more complete system that will handle more things than job scheduling, including service discovery, secrets management, and service routing. There also exists a much larger community support for Kubernetes vs Nomad. One might say Kubernetes is the safer choice between the two. Kubernetes is the complete "operating system" for cloud computing, but with it includes complexities that are "Kubernetes" specific. The decision really comes down to a mindset of monolith vs components. With Kubernetes, I would argue you choose the entire system as a whole. With Nomad, you design your system piece by piece. There is no wrong answer.
Settings.xml need to be backed up periodically. It contains all the settings for your pipelines! We accidentally deleted before and we have to restore and re-create several missing pipelines
More straight forward use of API and allows filtering e.g., pull all pipelines triggered after this date
Nomad has allowed our organization to deploy quicker and more frequently with a lower failure rate.
Nomad has brought in consistency from an operations perspective.
Nomad's performance allows us to scale infinitely while providing functionality that reduces mean time to repair (canary deploys, versioning, rollbacks, etc).