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
Thread to discuss ideas and thoughts on how developers might be able help in the Coronavirus pandemic.
New
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
I just watched this: (tldr: remove bad choices so you don’t need to use willpower) It got me thinking about ways to incre...
New
dasdom
No chair. I have a standing desk. This post was split into a dedicated thread from our thread about chairs :slight_smile:
New
AstonJ
Just been adding some more portals, currently have the following languages: Apache Groovy C C# C++ Clojure CoffeeScript Crystal ...
New
Exadra37
I am a Linux user since 2012, more or less, and I always use Ubuntu on my computers, and my last 2 laptops have been used Thinkpads, wher...
New
mafinar
I always start with excitement and then get busy on 9/10th day. This year, like the year before this, and the year before that, I intend ...
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
Do you think it’s worth worrying about? Do you think it’s going to be an even bigger issue in future? If so what can the teams of smaller...
New
DevotionGeo
I hate having mandatory semicolons in a language, no matter how beautiful the language is otherwise. What about you?
New

Other popular topics Top

New
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
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
gagan7995
API 4 Path: /user/following/ Method: GET Description: Returns the list of all names of people whom the user follows Response [ { ...
New
PragmaticBookshelf
Build efficient applications that exploit the unique benefits of a pure functional language, learning from an engineer who uses Haskell t...
New
AstonJ
If you want a quick and easy way to block any website on your Mac using Little Snitch simply… File > New Rule: And select Deny, O...
New
PragmaticBookshelf
Author Spotlight: VM Brasseur @vmbrasseur We have a treat for you today! We turn the spotlight onto Open Source as we sit down with V...
New
New
CommunityNews
A Brief Review of the Minisforum V3 AMD Tablet. Update: I have created an awesome-minisforum-v3 GitHub repository to list information fo...
New
mindriot
Ok, well here are some thoughts and opinions on some of the ergonomic keyboards I have, I guess like mini review of each that I use enoug...
New