21 ms·
Gitlab 10.7 Released
- dijit 8y agoI know its not as sexy as new features, but I really wish gitlab took a look at performance. Currently its sitting at 9GiB of Memory on my dedicated server box for basically no users. I tried it on smaller instances but it was so painfully slow I ended up getting a cheap dedicated server from Hetzner.
- sondr3 8y agoWhich is why I personally use Gitea, which is super light and performs very well. But it only has a fraction of the features of GitLab so it's not an apples to apples comparison, but my personal projects and my friends it works just fine. I combine it with Drone for testing and it totally suits my needs, and I host everything myself on a $5 VPS.
- wjkohnen 8y agoWe use GitLab on prem at work because we want the features. For private stuff or super small teams I'd chose Gitea as well. And/or GitLab.com. GitLab's performance is a major pain point for us. We throw an absurd amount of hardware at it for mid sized teams.
- nwatson 8y agoBitbucket. It's cheap.
- ausjke 8y agosame here, gitea works for probably 90% of the users IMO, I use it to host everything these days. tried gitlab a couple of times in the past, not impressed by the performance yet. have not used drone yet, will give it a shot.
- trashcan 8y agoAgreed. I really would prefer to use Gitlab, but at the moment I'm using Gogs on my Linode instance because it runs smoothly in <1GB of RAM.
- fb03 8y agoThat's what I've been using and idk if I need that much many features. Gogs gives me https+ssh, and a proper sane ui to quickly create accounts and config things. It's so lightweight I don't see me migrating to bigger stuff anytime soon. Any clue on what gitlab-only features people need that makes Gogs unusable or unfitting? make me really curious
- boudin 8y agoThere's the whole CI part. Gitea miss code comments for code review. Gitlab also have project management tools like issue boards And surely some other things i haven't looked into Gitea definitely do less but do it well and much in a much lighter way
- ptman 8y agoIt may be coming in the near future: https://github.com/go-gitea/gitea/pull/3748 https://github.com/go-gitea/gitea/pull/3748
- boudin 8y agoI switch to gogs (and now gitea) for this reason 2 years ago. It does much less in term of features though
- scottfr 8y agoThey have a dedicated section about performance improvements in the release notes. It links to a list of 53 commits from this release targeting performance: https://gitlab.com/groups/gitlab-org/-/merge_requests?scope=all&utf8=%E2%9C%93&state=merged&label_name%5B%5D=performance&milestone_title=10.7 https://gitlab.com/groups/gitlab-org/-/merge_requests?scope=...
- sytse 8y agoThanks Scott for linking to that. We're very much trying to improve the performance of GitLab. I do think that most of our performance improvements are to improve the end-user experience. So I totally understand dijit's request to reduce memory. Today we recommend 4GB of memory to run GitLab https://docs.gitlab.com/ee/install/requirements.html#memory https://docs.gitlab.com/ee/install/requirements.html#memory One big thing would be if we can run the Ruby code multithreaded https://gitlab.com/gitlab-org/gitlab-ce/issues/3592 https://gitlab.com/gitlab-org/gitlab-ce/issues/3592 You can see I created that issue 2 years ago and there has been recent activity on it. Right now GitLab the company is focussed on making complete DevOps https://about.gitlab.com/2017/10/11/from-dev-to-devops/ https://about.gitlab.com/2017/10/11/from-dev-to-devops/ happening. So any help on the multi-threading is appreciated. The first thing would be to implement https://github.com/covermymeds/rubocop-thread_safety https://github.com/covermymeds/rubocop-thread_safety
- jbergstroem 8y agoIt might be worth mentioning that they use jemalloc which greedily allocates memory. I "found out" while running into an issue and disabled it[1] which shaved a fair amount of memory from allocation. At the end of the day I guess it didn't matter - for me - seeing how I didn't need that memory for anything else. Also, the cookbook for setting up postgres also takes your total ram into account. 1: https://gitlab.com/gitlab-org/omnibus-gitlab/issues/3313 https://gitlab.com/gitlab-org/omnibus-gitlab/issues/3313
- jasone 8y agojemalloc does not greedily allocate memory, and it's not clear to me how you would think so from reading that gitlab issue discussion. I can well imagine jemalloc not behaving as desired under certain conditions, but if so it's surely more involved than wanton naivete.
- jbergstroem 8y agoI explained poorly. I ran into issues with updating jemalloc as part of a software update. While debugging the issue I disabled jemalloc (unsetting the ld_preload) and noticied a sharp difference in how much memory ruby had allocated. I guess _pre_allocating is incorrect and a better explanation is _not releasing it_. Thanks for rebutting my argument and giving me the opportunity to elaborate.
- Anthony-G 8y agoFor the past few years, I've been successfully running Gitolite[1] on a server with 1GB RAM. I recently checked out Gitlab as I thought it would be useful to have a nice web interface that allows users to easily see what projects are hosted and their corresponding URLs. I had to back away when I learned of Gitlab’s resource requirements. Based on the sibling comments here, it looks like Gogs/Gitea should do what I want. [1]: http://gitolite.com/gitolite/index.html http://gitolite.com/gitolite/index.html
- transmit101 8y agoI implemented the HTTPS-only Pages feature in this release. I just wanted to say that GitLab is a great project to contribute to, with a very friendly and professional community! Definitely recommend to anybody interested in contributing to a project themselves. [1] https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/16273 https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/16273 [2] https://about.gitlab.com/contributing/ https://about.gitlab.com/contributing/
- sytse 8y agoThanks for contributing Rob, and we're very glad to hear it was a good experience.
- no_protocol 8y agoThank you. The issue thread/request for this had been open for something like 2 years and I waited patiently for someone braver than me to implement it. Now my custom domain on GitLab Pages automatically redirects to HTTPS. I'm happy. Next up is to add an option to automatically renew Let's Encrypt certs for GitLab Pages.
- deleted 8y ago[deleted]
- uallo 8y agoAutomatic renewal has also been added in 10.7: https://docs.gitlab.com/omnibus/settings/ssl.html#automatic-renewal https://docs.gitlab.com/omnibus/settings/ssl.html#automatic-...
- joshlambert 8y agoQuick note, the existing Let's Encrypt integration does not support Pages. We are working on it, but it's worth noting Pages has multiple modes it can run in. One is by setting up wildcard domains at the server level, like we have on GitLab.com with gitlab.io. We have an issue open for this, but the primary challenge is that Let's Encrypt requires DNS-01 validation for wildcard certificates, with a new challenge each renewal. That is difficult to automate through our Omnibus package. The issue tracking this work is here: https://gitlab.com/gitlab-org/omnibus-gitlab/issues/3342 https://gitlab.com/gitlab-org/omnibus-gitlab/issues/3342 The other method allows users bring their own "custom domains": https://docs.gitlab.com/ee/administration/pages/#custom-domains-with-tls-support https://docs.gitlab.com/ee/administration/pages/#custom-doma... This is easier to manage, as we can do HTTP or SNI validation for each domain without hitting LE's rate limits. We are working on this now here: https://gitlab.com/gitlab-org/gitlab-ce/issues/28996 https://gitlab.com/gitlab-org/gitlab-ce/issues/28996
- theptip 8y agoRather comically, I've been unable to import my Gitlab.com repo into an on-prem Gitlab EE instance for the last 3-4 months, due to an import bug -- seems like that's the one import that should be easy to test thoroughly, but apparently not. Here's to hoping that this version happens to have fixed the issue!
- joshlambert 8y agoThanks for the report @theptip. Did you happen to open an issue? It would be great to ensure this one is being tracked appropriately.
- theptip 8y agoI opened tickets with GitLab support, which were eventually closed due to inactivity (i.e. support let the issues time out without a resolution, despite me doing two 1-hour live debugging sessions with a support rep and a full stack trace highlighting the failing code). In general I wasn't expecting to have to raise issues on the open source tracker myself after reporting to internal/paid support, but perhaps that's where I went wrong.
- lbotos 8y agoI'm working this quarter to help improve our quality of service. If you email me the ticket number(s) at lee@gitlab.com I'm happy to dive in and take a look. In theory, if we had clear traces an issue should have been made on your behalf. Happy to help get to the bottom of this.
- songzme 8y agoI wish I could understand the value add of yet another IDE. The whole reason for tech to exist is to improve things around the world, and yet brilliant minds are still spending years building one IDE after another. "Switching branch and remembering branch names..." is a simple git status. On vim, you can get a file browser on the left by using nerdtree plugin, and to write commit messages on the right side you simply just have another tmux window open for git or other unix commands. Building a new IDE is solving a very marginal problem that could potentially create new problems. Why not spend the same amount of time creating educational videos instead on how to use existing tooling that is already readily available? Other than this rant, I really like gitlab product (we self host at our coding camp) and deploy tokens is a pretty big value add for us for our CI flow. Edit: Here's a good usecase for the webIDE: If you see a typo in a comment, for example, you click the pencil icon on that line, which pops open an editor with your cursor on that line, fix the typo, and can create and submit for review a pull request right there. Less than a minute. https://news.ycombinator.com/item?id=16212234 https://news.ycombinator.com/item?id=16212234
- zegerjan 8y agoI've used it a couple of times now not to develop, but to incorporate review discussions and minor other fixes. But from my perspective the true value is for non developers, or when you're starting with Git. No need to worry about remotes and what you did or didn't sync. Or if the branch is even there and you need to set the upstream. Concepts one need to get now are branches and commits. No cloning, fetching, pulling or pushing. When starting, branches and commits are hard enough. Than, when the new user is comfortable they can work their way up.
- sytse 8y agoYep, it is also really nice to contribute to a repo that you didn't work on before and probably won't work on after. No need to wait for a clone anymore. Our mission is everyone can contribute and we hope this will make that even easier. I agree that as an industry we should spend more time on impactful things. That is why we based our IDE on the awesome Monaco editor of Vs code that was open sourced by Microsoft.
- jbk 8y agoI, for one, am very impressed by the capability of this (mostly-remote, IIRC) team to ship so many releases, so fast. We have now one release per month! We host most VideoLAN projects on our own instance, and the updates are now very smooth, especially compared to the beginning. Of course, there are features that we care about a lot and are not implemented, because they don't consider them important (or maybe not worth their time, which I understand) but it's a very solid software. I hope it can replace our wiki and bugtracker soon...
- sytse 8y agoAwesome that your upgrades are smooth, thanks for posting. We're indeed a completely remote team, see https://about.gitlab.com/culture/remote-only/ https://about.gitlab.com/culture/remote-only/ And we do want to make sure that all the features you really need are there. I understand the VideoLan needs https://gitlab.com/gitlab-org/gitlab-ce/issues/40321 https://gitlab.com/gitlab-org/gitlab-ce/issues/40321 and we're prioritizing it.
- jbk 8y ago> We're indeed a completely remote team, see https://about.gitlab.com/culture/remote-only/ https://about.gitlab.com/culture/remote-only/ That's very hard to keep at a constant pace. > And we do want to make sure that all the features you really need are there. So far, everything is great, but we would love to have: - Custom Fields, in order to leave trac (such a pain, this service is); - A way to fork/MR across Gitlab/Github instances: we don't want our instance to become yet another forge, people should use gitlab.com/GH. We would like that people can fork our projects on gitlab.com/github.com and then send PR our way. I understand this is über-hard, but that would be very nice; - Be able to update a MR without push-forcing on the same branch, but with a new branch (that allows better reviewing of older versions). (Btw, we currently use jenkins and we will move to gitlab-ci.)
- AsyncAwait 8y ago> A way to fork/MR across Gitlab/Github instances I think ActivityPub would be a good fit for federation across GitLab instances and would have a real chance to displace Github for open-source projects, if implemented right.
- kuschku 8y agoIs there any roadmap for how the cloud-native chart is progressing? I’m really interested in switching to that, as the current implementation takes almost 15 minutes to restart and uses over 8GB RAM when idle for me.
- matteeyah 8y agoThe project hosting our WIP cloud-native chart is public and available at https://gitlab.com/charts/helm.gitlab.io https://gitlab.com/charts/helm.gitlab.io It's currently in Alpha. You can see a list of ongoing efforts in https://gitlab.com/charts/helm.gitlab.io/issues https://gitlab.com/charts/helm.gitlab.io/issues
- deleted 8y ago[deleted]
- Silhouette 8y agoThere seem to be several people involved with GitLab here, so maybe one of you would be kind enough to answer the question I've had for a long time: what exactly is GitLab? I've met several people who speak well of it or mention particular things they use it for, so I have to assume there is something very useful in there, but unfortunately I've always found the web site more confusing than enlightening.
- matteeyah 8y agoGlad to hear you're interested Silhouette! > what exactly is GitLab? Here's a couple of points that might shed some more light on it: https://about.gitlab.com/about/ https://about.gitlab.com/about/. IMHO the first point nails it pretty well: "GitLab is a single application with features for the whole software development and operations (DevOps) lifecycle." > I've always found the web site more confusing than enlightening. Did you take a look at our homepage (https://about.gitlab.com https://about.gitlab.com) recently? (we updated it not too long ago) Which part of it do you find confusing? We'd love to make it better. If more direct feedback is your thing, you can also open an issue about it in https://gitlab.com/gitlab-com/www-gitlab-com/issues/new?issue https://gitlab.com/gitlab-com/www-gitlab-com/issues/new?issu...
- Silhouette 8y agoThanks for replying. I did actually check your home page, and various others on the site, before commenting. The best way I can think of to describe my experience is that it feels like I'm reading something written for someone who already knows what they're looking for and what the context is, but that's exactly what I'm there to find out. Perhaps some examples would help. For context, I am about to set up the infrastructure for a new project, involving source control, issue tracking, testing, deployment and so on. From past discussions with friends and colleagues who have used GitLab, I had the impression that it was somewhat like GitHub, in the sense of providing a front-end to help manage Git repos and some related facilities like issue tracking and CI, but GitLab was based on OSS and could be hosted locally. So, GitLab seems like something I should be very interested in right now. I'm an experienced developer and familiar with many other tools, so my interest is in whether GitLab might offer a better approach than things we've used before. However, looking at the site, I can't find anything describing the relationship between GitLab and Git anywhere on the home page. I checked the features page, but again found nothing, aside from a few passing references to actions like merging but only in the context of other functionality. I tried putting "git" into the search box on the documentation page, but again, nothing. Have I just totally misunderstood what GitLab does? And if so, why "Git" in the name? Likewise, I honestly can't tell whether GitLab is an OSS project or some sort of hosted enterprise "call us for pricing" behemoth (or both or neither). I've seen references to open source and some sort of community edition, but the "Community" link on the top of the site is clearly about something else entirely. There's a pricing page with various plans including a free plan, but while I initially assumed they were for a hosted online service, apparently they're for self-hosted. There is information about many ways to install GitLab locally on different platforms, but it's not clear what you're actually installing at that point or whether you then need some sort of licence to do anything with it. On the features page, each item has two different scales under it, one for GitLab and one for GitLab.com, but I really have no idea what the relationship between those is. There is an entirely separate feature comparison table that is actually linked from the pricing page, but that only shows one of the scales, and suggests that the lower/free tier is quite restrictive. But these look like they're self-hosted options and if there's OSS involved then how does that restriction work? I hope you'll forgive the brain dump, but other than showing a stream of consciousness as I looked through the site earlier today and how I was unable to answer my two most basic questions, I can't think of a better way to illustrate the difficulty I encountered.
- jancsika 8y ago> For example, you may now define which jobs you want to run just by tuning project variables, or you can restrict a job to be scheduled only when the variable is equal to a specific user. How would this be used in practice? For example-- suppose I want to give certain users access to my runners when they make a merge request. Can I use GITLAB_USER_NAME in .gitlab-ci.yml to achieve this?
- joshlambert 8y ago@jancsika you could implement a whitelist using this feature, by having jobs only run for specific usernames. Keep in mind though that these variables can be overridden, so it probably shouldn't be used for security reasons: https://docs.gitlab.com/ce/ci/variables/README.html#priority-of-variables https://docs.gitlab.com/ce/ci/variables/README.html#priority... To give a more detailed example on the nightly build, you would create a pipeline schedule that ran once per day and specified a variable: https://docs.gitlab.com/ee/user/project/pipelines/schedules.html#making-use-of-scheduled-pipeline-variables https://docs.gitlab.com/ee/user/project/pipelines/schedules.... Then you'd only trigger the nightly build job when this variable was present, using the `only` flag with the variable you defined for the job: https://docs.gitlab.com/ee/user/project/pipelines/schedules.html#making-use-of-scheduled-pipeline-variables https://docs.gitlab.com/ee/user/project/pipelines/schedules....
- jancsika 8y agoLet me see if I understand it. Let's say I whitelist user "me" and user "foo" using this variable in the .gitlab-ci.yml. Let's also assume I have runners locked to my repo. Doing nothing else than that, user foo now submits a merge request from their fork to my repo. Does CI now run for that merge request?
- joshlambert 8y agoIf it is a forked project, CI should run in their own project I believe. It should not run on your Runners.
- thejosh 8y agoGitlab is pretty much the only provider other than CircleCI to get CI right. I use their hosted gitlab version, but have their CI runner on our ci box that runs docker. It's fantastic.
- meta_AU 8y agoBuildKite is a pretty compelling option. Simple concepts combined with a powerful plugin system.
- thejosh 8y agoYeah, I've tried buildkite, and like it, but the thing about CI is it should be immutable. Plus gitlab has pretty good pricing for me for my personal project (free).
- burdzwastaken 8y agowe have been recently exploring concourse and I would say their approach to CI has been very refreshing.
- jwilk 8y agoWhat do other provides do wrong?
- mychael 8y agoBravo to the Gitlab team on building such a great product. I used to really dislike it, now I'm a big fan!
- Freak_NL 8y agoWe use GitLab at a small company (around 15 employees), and love it because it's free in its core offering, self-hosted, and works really well. Conveniently, it comes with MatterMost included out of the box. Great for intra-office communication! We are at the point where we wouldn't mind scaling up to the paid 'Starter' level of GitLab if it would mean being able to replace Jira as our issue tracker. One thing that worries me though, is how GitLab seems to focus all of the relevant developments in that area (epics, roadmaps, etc.) on their 'Supreme' level of paid plans, which is way beyond our means. Is there a clear plan for the issue tracking side of things as far as the 'Core' and 'Starter' offerings are concerned?
- sytse 8y agoAs you noted a lot of the planning features are focussed on portfolio management that is part of our ultimate tier. The plans for starter are detailed on https://about.gitlab.com/direction/#starter https://about.gitlab.com/direction/#starter right now the only issue management one is and API for boards https://gitlab.com/gitlab-org/gitlab-ee/issues/4266 https://gitlab.com/gitlab-org/gitlab-ee/issues/4266 Of course when you start paying for starter you gain the many features that are already in there: https://about.gitlab.com/pricing/self-hosted/feature-comparison/ https://about.gitlab.com/pricing/self-hosted/feature-compari...
- victorwu 8y agoWe are continuing to improve our issue tracking / project management at different tiers. You can take a look at these epics and issues to see much of the work that we have already planned. Most of these issues are in Core or Starter: https://gitlab.com/groups/gitlab-org/-/epics/8 https://gitlab.com/groups/gitlab-org/-/epics/8 https://gitlab.com/groups/gitlab-org/-/epics/5 https://gitlab.com/groups/gitlab-org/-/epics/5 https://gitlab.com/groups/gitlab-org/-/epics/6 https://gitlab.com/groups/gitlab-org/-/epics/6 https://gitlab.com/groups/gitlab-org/-/epics/22 https://gitlab.com/groups/gitlab-org/-/epics/22 https://gitlab.com/groups/gitlab-org/-/epics/156 https://gitlab.com/groups/gitlab-org/-/epics/156 https://gitlab.com/gitlab-org/gitlab-ee/issues/3969 https://gitlab.com/gitlab-org/gitlab-ee/issues/3969 Highlights are bulk subscriptions of issues, better subgroup support for labels and milestones, and expanded issue weight support.