cmkarlsson

cmkarlsson

Best self-hosted version control + CI/CD solution for small team?

The title says it all. I am looking for a small self-hosted code hosting and CI/CD solution and just wonder what your experience with the different solutions are.

The company will not allow any cloud interaction so must be self-hosted on a shared server but I am open for any suggestions.

The features I am after are:

  • Git hosting

  • Code review

  • CI tasks before committing to trunk

  • Maybe issues and wiki but not essential

  • BONUS: Something where I can do everything from the command-line, especially pull requests and reviews and what not. I know this doesn’t seem to be directly supported in the Github/gitlab/gitea sort of solution but perhaps there are others out there which are better?

  • Gitlab - I don’t like it because it uses way too many resources, too many 3rd party components and it is painfully slow

  • Gogs/Gitea - Lightweight and easy to setup but are they any good?

  • phabricator - Is it still a thing?

  • Others?

And what self-hosted CI/CD are there?

  • jenkins - we are currently using this for some things. I am not a huge fan
  • drone.io - Managed to get it going with gitea. Is lightweight but is it any good?
  • TeamCity
  • AppVeyor
  • Others?

Most Liked

AstonJ

AstonJ

Self-hosting git repos is pretty easy, there are good instructions in the Git book: https://git-scm.com/book/en/v2/Git-on-the-Server-Getting-Git-on-a-Server (excellent book btw, definitely worth a read). There is also a basic web visualiser that comes with Git itself, GitWeb: https://git-scm.com/book/en/v2/Git-on-the-Server-GitWeb

I’ve only ever used it for deployment purposes though (so push / pull etc) hence didn’t bother with a web visualiser. I’m not sure whether it would be suitable for your exact requirements but it would definitely be worth reading through some of those chapters.

I think @NobbZ has worked with a self-hosted set-up with GitLab - hopefully he’ll see this and maybe add some thoughts…

cmkarlsson

cmkarlsson

Thanks @AstonJ.

We are currently running bare git repos, some ad-hoc git hooks and an old jenkins server. I am not happy with this and want to explore alternatives and a more integrated solution.

The hard thing is coming up with a solution that works for the entire team. There are some that are beginner git users and not familiar with github workflows.

We have a pretty “subversion” workflow going on at the moment. Everyone has commit rights to trunk and quite often commits break the build or tests (but in my opinion then it is too late). Here I want to add some sort of code review and a CI build step that runs the builds and tests before accepting the merge to trunk.

I know this can be setup with just git and other 3rd party software but I think a more prescriptive solution might be in order. Something that gives a little bit more to lean on.

Would be interesting to hear about GitLab but as an old sys-op I have lots of prejudice against it, so it is an uphill battle :smiley:

OvermindDL1

OvermindDL1

I use Concourse as it’s pretty simple and bare, it just runs docker instances fresh each time, you build up how everything should go, etc… It’s had occasional bugs but I think they are mostly fixed now, but I find it pleasant to use.

Where Next?

Popular General Dev topics Top

AstonJ
If you’re a fan, why? If you’re not fussed on it, how comes?
New
AstonJ
:smiling_imp: What is your preferred syntax style and why? Perhaps we can add examples and use the code below as a simple reference poi...
New
chasekaylee
Just like the title says :smiley: which courses you find that have had the most impact in the span of your career as a developer?
New
chasekaylee
Hi there! I have some old Bose in ear noise cancelling headphones that have worked like a champ for the past 3 years and was maybe due fo...
New
AstonJ
Inspired by this post from @Carter, which languages, frameworks or other tech or tools do you think is killing it right now? :upside_down...
New
finner
One of my 2021 resolutions is to read more tech books. As part of this effort I purchased two MEAPs (Manning Early Access Program) which...
New
AstonJ
The dev world doesn’t sit still, in fact it is probably one of the fastest paced industries around - meaning to stay current we are conti...
New
DevotionGeo
The V Programming Language Simple language for building maintainable programs V is already mentioned couple of times in the forum, but I...
New
AstonJ
Do we have any digital nomads here? Anyone fancy it? If so, which countries would you consider? I’ve been toying with the idea for a wh...
New
Exadra37
Your users of the two forums are spread across the world, thus I am curious how did you solved it?
New

Other popular topics Top

brentjanderson
Bought the Moonlander mechanical keyboard. Cherry Brown MX switches. Arms and wrists have been hurting enough that it’s time I did someth...
New
mafinar
This is going to be a long an frequently posted thread. While talking to a friend of mine who has taken data structure and algorithm cou...
New
AstonJ
Was just curious to see if any were around, found this one: I got 51/100: Not sure if it was meant to buy I am sure at times the b...
New
sir.laksmana_wenk
I’m able to do the “artistic” part of game-development; character designing/modeling, music, environment modeling, etc. However, I don’t...
New
AstonJ
This is a very quick guide, you just need to: Download LM Studio: https://lmstudio.ai/ Click on search Type DeepSeek, then select the o...
New
PragmaticBookshelf
Overarching tutorial for Python beginner and intermediate developers that teaches web development with the Flask framework. Miguel Gr...
New
NewsBot
Node.js v22.14.0 has been released. Link: Release 2025-02-11, Version 22.14.0 'Jod' (LTS), @aduh95 · nodejs/node · GitHub
New
PragmaticBookshelf
Use advanced functional programming principles, practical Domain-Driven Design techniques, and production-ready Elixir code to build scal...
New
PragmaticBookshelf
As digital systems increasingly run the world, mastery of the recurring patterns of software development risk is the key to fast and effe...
New
PragmaticBookshelf
Quickly turn complex problems into simple, working solutions using functional programming, safe concurrency, and the expressive tools of ...
New