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

Exadra37
Cloudflare as workers to run serverless code without using containers: So it seems that Isolates is based on: What we ended up settl...
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
AstonJ
Just been adding some more portals, currently have the following languages: Apache Groovy C C# C++ Clojure CoffeeScript Crystal ...
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
dwaynebradley
In their weekly newsletter, Jared Santo from the Changelog shared this blog post by Mark Ericksen over at fly.io: What is really inter...
New
New
DevotionGeo
For me it’s six to seven steps above complete dark, on MacBook Air M1.
New
OvermindDL1
Maybe we need a thread of hosting providers we like and for what reasons. I personally like OVH, they are a very low level host (they re...
New
harwind
I’m working on a Spring Boot project and I have a controller where I want to map multiple request paths to a single method. Let’s say I h...
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

wolf4earth
@AstonJ prompted me to open this topic after I mentioned in the lockdown thread how I started to do a lot more for my fitness. https://f...
New
AstonJ
Curious to know which languages and frameworks you’re all thinking about learning next :upside_down_face: Perhaps if there’s enough peop...
New
AstonJ
Thanks to @foxtrottwist’s and @Tomas’s posts in this thread: Poll: Which code editor do you use? I bought Onivim! :nerd_face: https://on...
New
PragmaticBookshelf
Tailwind CSS is an exciting new CSS framework that allows you to design your site by composing simple utility classes to create complex e...
New
Exadra37
I am asking for any distro that only has the bare-bones to be able to get a shell in the server and then just install the packages as we ...
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
PragmaticBookshelf
Rails 7 completely redefines what it means to produce fantastic user experiences and provides a way to achieve all the benefits of single...
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
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
A concise guide to MySQL 9 database administration, covering fundamental concepts, techniques, and best practices. Neil Smyth MySQL...
New