#481  State and future of OneDev
Closed
jbauer opened 5 months ago

I am evaluating OneDev as new all-in-one git server for the company I work for.

Generally the feature set of OneDev looks pretty great and it seems like there is nothing that would block us from using it. However before jumping in I would like to better understand a few things:

Is that project maintained by single person (you)? Commits seem to indicate that but reading the announcement in 2019 you talk about "we", so maybe there is also a company behind OneDev? I ask this because it is always a tough call for a company to use critical tools maintained by only one or very few persons. The risk is higher that such a tool will become unmaintained or abandoned in the future.

How stable do you consider OneDev? How fast will regression bugs usually be fixed? How do you see OneDev's future?

Keep up the good work!

Robin Shen commented 5 months ago

Currently I am the only person doing daily development for OneDev, and support it as well. I work as a DevOps engineer for a company, and developed this tool to make our devops work easier. My employer is kind enough to allow me maintaining this tool even in my working hours, and occasionally contributed some resources to the product. This is the reason why I am using the phase we sometimes.

OneDev is very stable and we have used it in production for more than 5 years. Some other companies also used it heavily according to my support cases. Fixing bugs is my top priority compared to adding new features as we do not have growth pressure. For serious bugs, you will expect it to be fixed in one or two days.

I will keep on improving the product, even if my employer stops supporting it some day. In that case I will set up a company to offer commercial support to continue the product, as suggested by some of our users. Right now, I enjoy my DevOps work in my company.

bufferUnderrun commented 5 months ago

@jbauer

First, i can tell @robin is ultra reactive on each issue i've created since using onedev. And i've opened so many (bug, help wanted...) ! For 2 years, i have seen many new cool features without overhead and now i'm using it for all our projects at my former and new company.

Secondly, you can't just say and ask

Is that project maintained by single person (you)? Commits seem to indicate that but reading the announcement in 2019 you talk about "we", so maybe there is also a company behind OneDev? I ask this because it is always a tough call for a company to use critical tools

That's not the way opensource works. They are often developing in free time in response to a personal need and release under free licence WIHTOUT ANY WARRANTY.

If you want contract, just buy a proprietary product like jetbrain or paying for support like gitlab. And if this tool is so cirtical to you, just hire or pay some java dev to get support, as you know the source code is free and open.

I encourage you to read the excellent Simon Tatham's post https://andrewducker.dreamwidth.org/4085856.html?thread=28352864#cmt28352864 in response of the recent log4j haters.

jbauer commented 5 months ago

@bufferUnderrun

Thanks for your answer. I am glad to hear that OneDev works well for your for several years now.

That's not the way opensource works. They are often developing in free time in response to a personal need and release under free licence WIHTOUT ANY WARRANTY.

I understand what you are saying. I know how open source works and have fixed several issues in open source projects myself. However it is never a bad idea to get information about the motivation of current maintainers. Even if you contribute to an open source project you need a person that guides you in the right direction and knows about quirks in the code base you would never think of yourself. This is especially true if the code base is rather large and/or having only few tests.

If you want contract, just buy a proprietary product like jetbrain or paying for support like gitlab. And if this tool is so cirtical to you, just hire or pay some java dev to get support, as you know the source code is free and open.

We looked at GitLab, Github and Gitea. GitLab/GitHub provide too much of what we actually need and given we need to self host it (security requirements), it is also pretty resource intensive. So we actually thought about using Gitea but it does not support custom fields and would have required workarounds. We were pretty happy to find OneDev accidentally. So far it provides all features we need, most importantly custom fields and an API that lets you search / update issues based on these custom fields. The clean UI, the integration of container based CI, issue boards, protected branches and relating commits / issues / builds with each other makes it a pretty good choice for us.

bufferUnderrun commented 5 months ago

I was a 10y+ user of redmine which fill my needs until i really discover the CI/CD.

Back in 2019, like you're doing now, i was looking for a better project :

  • github : i wanted to host my own server and i found the CI/CD too over complicated.
  • gitlab : redmine was a real nightmare to install/update due to ruby dependancies even with distrib like debian. When reading gitlab setup, i feel the same so drop of my choices.

I test others projects whose i lost the name.
At last, i found OneDev and i even don't remember how.

First sight :

  • free and open source
  • multiplateform (java) : when opening zip archive, you can see the data folder structure, extremly clean comparing other java dirty bin. Good point.
  • "bad, it's java so it will be slow". Error, in fact, everything is pretty fast from the web server start to all actions inside. Not require many ressources unlike the insane RAM/Proc eater Tomcat.
  • setup : curl, java, git in path, just unzip and exec, it works !
  • support all majors databases, perfect
  • script provided to update/backup/restore, perfect
  • LDAP support for user account

First try :

  • git support, file explorer, commit, branch, tags, history, blame...
  • Issues : custom fields and custom workflow
  • simple to understrand and configure, clean

At this time, i feel OneDev as the possibly candidate for redmine successor.

After reading the documentation and i test some features :

  • Builds : write a buildspec or via UI and it uses docker behind the scene to do the CI/CD. Simple, fast, powerfull !!
  • Commit message with "fix issue #1234" will close the issue, launch build and deploy to prod if success, if not, reopen issue linking to failed build and error message. Email notification. It's a FUCKING EXTRA POWERFULL FEATURE, i really love it ! (sorry for language)
  • mobile support : i think we all have ever done this thing : apply changes to a project the night before an important meeting presentation. And that change contains a bug that will totaly crash the meeting. I've deploy a previous working build from my smartphone 5 minutes before the meeting start with the client. THANKS ONEDEV 😄

2 years use :

  • onedev is my primary dev tool
  • all my coworkers use it for git and issues. Some with CI/CD.
  • I've made "special job" for you internal support. Theses jobs are basicaly restart/backup scripts in some server/service. The advantage is they don't need specific account in theses server cause everything is handle by onedev/job/secret/docker, it is SAFE. Now, when i'm in holidays, they launch theses jobs to solve commons errors and i don't get called.
  • we give access to issue to some client. They follow our progress and get inform when something append (commit, deploy...)
  • support : robin fix issue, add some cool feature and is helping when you have a problem. He has my respect for all the work he does.

Quite frankly, there is one thing that is really really missing in onedev : Issue 85 attach files to a projet. Like i say in the issue, i always have file related to a projet that i want to attach. It can be a specification, pdf, database schema, contract, guide... they are not part of the source code but they are part of the projet.

Last but not least : OneDev does not have the place it deserve. It would be in the TOP 3 best code project management ever !... Rather than being in the last google result page.

Robin Shen commented 5 months ago

@bufferUnderrun thanks a lot for the nice words! And all the feedbacks/suggestions you provided so far, it helped the project a lot.

Very glad to see this project is useful to other users as well, and hope to get feedbacks from users continuously to get the project better.

Robin Shen changed state to 'Closed' 3 months ago
Previous Value Current Value
Open
Closed
issue 1 of 1
Type
Discussion
Priority
Normal
Assignee
Issue Votes (0)
Watchers (4)
Reference
issue onedev/server#481
Please wait...
Page is in error, reload to recover