GitPrep? (was: Re: [gentoo-user] Gitlab experiences)

2016-07-15 Thread Andreas K. Huettel
Am Mittwoch, 13. Juli 2016, 14:44:39 schrieb James:
> Hello,
> 
> So, from what I've read, gitlab is very popular because you can self-host
> and the CI capabilities there are built in. 

[...]

Has anyone here already played with GitPrep?

That looks rather straightforward to package (but I haven't done it yet...)
http://perlcodesample.sakura.ne.jp/gitprep-site/


-- 

Andreas K. Huettel
Gentoo Linux developer 
dilfri...@gentoo.org
http://www.akhuettel.de/




Re: [gentoo-user] Gitlab experiences

2016-07-13 Thread Jeremi Piotrowski
On Wed, Jul 13, 2016 at 03:19:00PM +0200, Ralf wrote:
> Hi James,
> 
> On 07/13/16 14:44, James wrote:
> > 
> > Has anyone attempted to install a self hosted gitlab  on gentoo server(s)?
> > A small gentoo cluster/container setup? Using a Distributed File System,
> > like cephfs, orangefs or other DFS?
> I recommend to deploy gitlab inside a Debian LXC/Docker container as
> Gitlab guys provide and maintain precompiled .deb packages. You do not
> want to compile it on your own as it comes with a load of dependencies.
> And once dependencies change you really might run into trouble with
> gentoo. Gitlab isn't just a tiny one-click-and-it-runs webservice, it's
> a whole ecosystem.

I would deploy it with docker. The gitlab guys push official images of the
main gitlab app[1] and CI runners[2] to dockerhub. That should be
the easiest path to getting it up and running in no time.

That being said, gitlab does not really play well with clustering in
general. I don't think the main part of the app does any kind of
horizontal scaling (gitlab.com is hosted on a single server) so you need a
fairly beefy server. And while storage should be entirely up to you (the
app _should_ be indifferent to what you use) most folks appear to run with
local disks or NFS.


> > 
> > Any experiences with gitlab are most welcome for comment, good or bad.
> Yes. Bad. Slow, unreactive, eats tons of resources. Doesn't scale with
> large repos (except you have unlimited access to hardware resources). A
> Linux kernel git mirror finally crashed it.

I can second that - it's slow and load times are long even when performing
the most basic operations such as opening a small file or viewing a single
commit (you _will_ notice - it regulary takes several seconds). Mind you
the gitlab folks are working on improving this since several releases.

As a user, another issue I have with it is that the merge request/review
interface is just terrible. There is _no_ merge request versioning, so
either you submit your code in perfect shape at first try, or any change
(amending/rebasing/merging) will cause the changelist to be duplicated
many times over. You also lose track of the review history instantly - old
comments are either concealed or swallowed.

There is also no CLI utility to automate common review-related tasks
(submitting/responding to review) so you are forced to do everything over
the slow WebUI.

If you care at all about the codereview aspects, I would recommend gerrit
or phabricator. Both have cli utilities (git-review and arcanist) and while
some claim they are ugly (heard that one especially about gerrit) they are
100x more practical. 

If you only care about having a repository browser then gitlab can work
but there are simpler apps out there (gogs/pagure).


[1]: https://hub.docker.com/r/gitlab/gitlab-ce/
[2]: https://hub.docker.com/r/gitlab/gitlab-runner/



Re: [gentoo-user] Gitlab experiences

2016-07-13 Thread J.
El mié, 13-07-2016 a las 09:13 -0400, Rich Freeman escribió:
> On Wed, Jul 13, 2016 at 8:44 AM, James 
> wrote:
> > 
> > Has anyone attempted to install a self hosted gitlab  on gentoo
> > server(s)?
> > A small gentoo cluster/container setup? Using a Distributed File
> > System,
> > like cephfs, orangefs or other DFS?
> > 
> 
> I know the Gentoo Infra team has had negative experiences with
> hosting
> just about anything Java and don't want to go near it.  I don't know
> if that is based on specific experiences with GitLab or with just
> avoidance with Java in general.  Most of the competing solutions in
> this space are also Java-based which is why we don't host any kind of
> alternative to Github.
> 

What java has to do with gitlab? according to the repo I see is mostly
ruby code[1](both gitlab and gitlab-ci). what you wrote make it seems
like it is a java app.
In the github mirror of gitlab(the main app), the file stats are:
2,253 Ruby 
697 Haml
319 Markdown
158 CoffeeScript
99 SCSS
90 Cucumber
40 YAML
39 HTML+ERB
26 SVG
25 JavaScript
I have tried it using docker, and it does uses a lot of resources as
someone previously said.

BTW, after I quick look at Gogs it does seem a nice option, very
'github like'. I will try it for sure.

 [1] https://github.com/gitlabhq/gitlabhq



Re: [gentoo-user] Gitlab experiences

2016-07-13 Thread Ralf
Hi Rich,

On 07/13/16 16:35, Rich Freeman wrote:
> On Wed, Jul 13, 2016 at 9:19 AM, Ralf
>  wrote:
>> I recommend to deploy gitlab inside a Debian LXC/Docker container as
>> Gitlab guys provide and maintain precompiled .deb packages. You do not
>> want to compile it on your own as it comes with a load of dependencies.
>> And once dependencies change you really might run into trouble with
>> gentoo. Gitlab isn't just a tiny one-click-and-it-runs webservice, it's
>> a whole ecosystem.
> 
> This is part of why I'd suggest not upgrading it in-place.  Just
> create a new container from scratch every time there is an update.  Of
Sure, I totally agree. But from a maintenance point of view this can
become a full-time job very quickly, as gitlab has pretty short
innovation and release cycles. And you do want to install updates very
quickly, especially for web-apps.

  Ralf
> course, Gentoo makes this somewhat more painful than other distros; it
> tends to be designed around upgrading in-place.



Re: [gentoo-user] Gitlab experiences

2016-07-13 Thread Rich Freeman
On Wed, Jul 13, 2016 at 9:19 AM, Ralf
 wrote:
> I recommend to deploy gitlab inside a Debian LXC/Docker container as
> Gitlab guys provide and maintain precompiled .deb packages. You do not
> want to compile it on your own as it comes with a load of dependencies.
> And once dependencies change you really might run into trouble with
> gentoo. Gitlab isn't just a tiny one-click-and-it-runs webservice, it's
> a whole ecosystem.

This is part of why I'd suggest not upgrading it in-place.  Just
create a new container from scratch every time there is an update.  Of
course, Gentoo makes this somewhat more painful than other distros; it
tends to be designed around upgrading in-place.

-- 
Rich



Re: [gentoo-user] Gitlab experiences

2016-07-13 Thread Ralf
Hi James,

On 07/13/16 14:44, James wrote:
> Hello,
> 
> So, from what I've read, gitlab is very popular because you can self-host
> and the CI capabilities there are built in. As I look at migrating several
> several old mechanical ways to manage code inhouse, gitlab does look
> appealing. I do see a variety of packages in via remote overlays::
> 
> [1] "cvut" layman/cvut
> [2] "dev-zero" layman/dev-zero
> [3] "gitlab" layman/gitlab
> [4] "maksbotan" layman/maksbotan
> [5] "mrueg" layman/mrueg
> [6] "rindeal" layman/rindeal
> [7] "R_Overlay" layman/R_Overlay
> [8] "spike" layman/spike
> 
> and dev-go/go-gitlab-client in portage.
>  
> From the gentoo wiki, it looks like all of the dependencies are already
> in portage:: 
> https://wiki.gentoo.org/wiki/GitLab#Prerequisites.2FDependencies
> 
> 
> Has anyone attempted to install a self hosted gitlab  on gentoo server(s)?
> A small gentoo cluster/container setup? Using a Distributed File System,
> like cephfs, orangefs or other DFS?
I recommend to deploy gitlab inside a Debian LXC/Docker container as
Gitlab guys provide and maintain precompiled .deb packages. You do not
want to compile it on your own as it comes with a load of dependencies.
And once dependencies change you really might run into trouble with
gentoo. Gitlab isn't just a tiny one-click-and-it-runs webservice, it's
a whole ecosystem.

For private use, I deployed my Gitlab inside a LXC container on my
Gentoo server box, everything else is really way too much tinkering
around. If you have no other problems in your life, just try it out and
go for it. :-)
> 
> Any experiences with gitlab are most welcome for comment, good or bad.
Yes. Bad. Slow, unreactive, eats tons of resources. Doesn't scale with
large repos (except you have unlimited access to hardware resources). A
Linux kernel git mirror finally crashed it.

That's why I decided to switch to Gogs [1], even for business cases.
Gogs is implemented in Go, has a pretty active and responsive community
and (in my opinion) it is a well-maintained project. Looks and feels
like gitlab but is much faster and consumes a minimum of resources. I
strongly recommend to use Gogs. Just try it out on their website.

They also provide a .deb package, that's the reason why I'm running it
inside a Debian LXC container as well.

HTH
  Ralf

[1] https://gogs.io/
> 
> 

-- 
Ralf Ramsauer
PGP: 0x8F10049B



Re: [gentoo-user] Gitlab experiences

2016-07-13 Thread Rich Freeman
On Wed, Jul 13, 2016 at 8:44 AM, James  wrote:
>
> Has anyone attempted to install a self hosted gitlab  on gentoo server(s)?
> A small gentoo cluster/container setup? Using a Distributed File System,
> like cephfs, orangefs or other DFS?
>

I know the Gentoo Infra team has had negative experiences with hosting
just about anything Java and don't want to go near it.  I don't know
if that is based on specific experiences with GitLab or with just
avoidance with Java in general.  Most of the competing solutions in
this space are also Java-based which is why we don't host any kind of
alternative to Github.

So, take that as a data point or not as you wish.  Certainly
interested to hear what others have found.

One thing I might suggest if there are concerns with maintenance of
Java is that you try to containerize it as much as possible.  Put
Gitlab and its dependencies in a container.  Use config management to
carefully track what need to be changed above the baseline to get it
working.  Put all the storage on mounts hosted outside the container
and bind/network mount them into the container.  Then if things get
out of hand in updates/etc you can just build a new Gitlab container
on each update, apply configuration and mounts, and then test it out.
You could make everything Gitlab depends on essentially disposable
that way.

-- 
Rich