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

Rainer
Have you seen the new features that will be available in the upcoming C# 9 release? C# is taking a lot of input from functional l...
New
AstonJ
In your opinion which programming languages are simple to use and easy to get started wither those who don’t have a computer science bac...
New
AstonJ
Want to plug where you work? Here’s your chance! Perhaps you could also mention what kind of stuff you’re working on? :nerd_face:
New
AstonJ
If you could work on any project, what would it be? :upside_down_face:
New
AstonJ
Do the test and post your score :nerd_face: :keyboard: If possible, please add info such as the keyboard you’re using, the layout (Qw...
New
DevotionGeo
The Odin programming language is designed with the intent of creating an alternative to C with the following goals: simplicity high per...
New
AstonJ
Hi everyone… I’m so sorry about the delay in getting this thread up, I’ve just been so busy :see_no_evil: Are there any book clubs you’d...
New
foxtrottwist
A few weeks ago I started using Warp a terminal written in rust. Though in it’s current state of development there are a few caveats (tab...
New
DevotionGeo
Hi everyone! I bought this domain name when I was planning to create a website like ElixirSchool.com, but that didn’t ever happen. Now ...
New
AntonRich
I don’t know what happened today. But I just started reading SICP which I meant to do for a long time. The book itself: I’m not even s...
New

Other popular topics Top

PragmaticBookshelf
Learn from the award-winning programming series that inspired the Elixir language, and go on a step-by-step journey through the most impo...
New
AstonJ
Or looking forward to? :nerd_face:
503 15149 280
New
AstonJ
This looks like a stunning keycap set :orange_heart: A LEGENDARY KEYBOARD LIVES ON When you bought an Apple Macintosh computer in the e...
New
AstonJ
Do the test and post your score :nerd_face: :keyboard: If possible, please add info such as the keyboard you’re using, the layout (Qw...
New
AstonJ
In case anyone else is wondering why Ruby 3 doesn’t show when you do asdf list-all ruby :man_facepalming: do this first: asdf plugin-upd...
New
PragmaticBookshelf
Build highly interactive applications without ever leaving Elixir, the way the experts do. Let LiveView take care of performance, scalabi...
New
Help
I am trying to crate a game for the Nintendo switch, I wanted to use Java as I am comfortable with that programming language. Can you use...
New
PragmaticBookshelf
Author Spotlight Rebecca Skinner @RebeccaSkinner Welcome to our latest author spotlight, where we sit down with Rebecca Skinner, auth...
New
PragmaticBookshelf
Programming Ruby is the most complete book on Ruby, covering both the language itself and the standard library as well as commonly used t...
New
PragmaticBookshelf
Escape callback hell and ship fast, clean code that reads as smoothly as it runs. Squash bugs and stamp out memory leaks with an intuitiv...
New