GitLab

GitLab

DevOps / Build, Test, Deploy / Code Collaboration & Version Control
Sr. Doodad Imagineer at Russtopia Labs·
Shared insights

I installed Gogs after a few repos I planned to use on GitHub disappeared without explanation, and after Microsoft's acquisition of same, it made me think about the over-centralization of community-developed software. A self-hosted solution that enables easy point-and-click mirroring of important repositories for my projects, both in-house and 3rd-party, ensures I won't be bitten by upstream catastrophes. (So far, Microsoft's stewardship has been fine, but always be prepared). It's also a very nice way to host one's own private repos before they're ready for prime-time on github.

Gogs is written in Go and is easy to install and configure, IMHO much more so than GitLab, though it's of course less feature-rich; the only major feature I wish Gogs had is an integrated code review tool, but the web plugin hypothes.is https://stackshare.io/hypothes-is/hypothes-is is quite suitable as a code review tool. Set up a group for each code review, and just highlight lines to add comments in pull request pages of Gogs.

READ MORE
DangerRuss Things: Export Go Packages via 'go get' From Your Own Server (dangerruss-things.blogspot.com)
5 upvotes·174.3K views
CEO at Scrayos UG (haftungsbeschränkt)·

We use GitLab CI because of the great native integration as a part of the GitLab framework and the linting-capabilities it offers. The visualization of complex pipelines and the embedding within the project overview made Gitlab CI even more convenient. We use it for all projects, all deployments and as a part of GitLab Pages.

While we initially used the Shell-executor, we quickly switched to the Docker-executor and use it exclusively now.

We formerly used Jenkins but preferred to handle everything within GitLab . Aside from the unification of our infrastructure another motivation was the "configuration-in-file"-approach, that Gitlab CI offered, while Jenkins support of this concept was very limited and users had to resort to using the webinterface. Since the file is included within the repository, it is also version controlled, which was a huge plus for us.

READ MORE
20 upvotes·364.1K views
CEO at Scrayos UG (haftungsbeschränkt)·

We primarily use MariaDB but use PostgreSQL as a part of GitLab , Sentry and Nextcloud , which (initially) forced us to use it anyways. While this isn't much of a decision – because we didn't have one (ha ha) – we learned to love the perks and advantages of PostgreSQL anyways. PostgreSQL's extension system makes it even more flexible than a lot of the other SQL-based DBs (that only offer stored procedures) and the additional JOIN options, the enhanced role management and the different authentication options came in really handy, when doing manual maintenance on the databases.

READ MORE
11 upvotes·327.1K views
CEO at Scrayos UG (haftungsbeschränkt)·

We use Sonatype Nexus to store our closed-source java libraries to simplify our deployment and dependency-management. While there are many alternatives, most of them are expensive ( GitLab Enterprise ), monilithic ( JFrog Artifactory ) or only offer SaaS-licences. We preferred the on-premise approach of Nexus and therefore decided to use it.

We exclusively use the Maven-capabilities and are glad that the modular design of Nexus allows us to run it very lightweight.

READ MORE
10 upvotes·205.9K views
Co-Founder at weconnect.chat·
Needs advice
on
RabbitMQRabbitMQMongoDBMongoDB
and
DockerDocker

Hi, I am building an enhanced web-conferencing app that will have a voice/video call, live chats, live notifications, live discussions, screen sharing, etc features. Ref: Zoom.

I need advise finalizing the tech stack for this app. I am considering below tech stack:

  • Frontend: React
  • Backend: Node.js
  • Database: MongoDB
  • IAAS: #AWS
  • Containers & Orchestration: Docker / Kubernetes
  • DevOps: GitLab, Terraform
  • Brokers: Redis / RabbitMQ

I need advice at the platform level as to what could be considered to support concurrent video streaming seamlessly.

Also, please suggest what could be a better tech stack for my app?

#SAAS #VideoConferencing #WebAndVideoConferencing #zoom #stack

READ MORE
15 upvotes·173.9K views
Replies (8)
Recommends
WebRTC

You're going to want to look hard at WebRTC. It's what almost every realtime video service uses. The appeal is that it establishes a direct connection between peers so that the massive video bandwidth doesn't need to go through your backend. That aside, actor clusters will be the other technology that handle that sort of traffic well. It was popularized by erlang for telecom backbone, akka is another choice for actor systems.

Infrastructure wise, kubernetes would be a fine choice. Just make sure to look up some benchmarks for Container Network Interface (CNI) implementations that support high bandwidth traffic.

READ MORE
14 upvotes·1 comment·6.1K views
Nikhil Gurnani
Nikhil Gurnani
·
November 4th 2020 at 7:34AM

I absolutely second this recommendation! WebRTC is a must for apps that have high amount of audio / video streaming.

·
Reply
SDET at Ledningkart·
Recommends
Docker

Kubernetes provides Auto-scaling whereas Docker Swarm doesn't support autoscaling. Kubernetes supports up to 5000 nodes whereas Docker Swarm supports more than 2000 nodes. Kubernetes is less extensive and customizable whereas Docker Swarm is more comprehensive and highly customizable. So if your main usecase is autoscaling go for kubernetes else Docker is always a good choice.

READ MORE
10 upvotes·6.1K views
View all (8)
Founder at Supra Software Solutions·

We are an application development firm helping our customers develop web & mobile application. We are currently using GitLab for CI/CT/CD. However, we are looking for something more modern, advance & futuristic that will still be in use even after 10 years of supporting the latest technologies/servers of the time. Someone mentioned about Terraform. Any thoughts about which one would be right one to adopt or just continue with Gitlab?

READ MORE
6 upvotes·17.7K views
Replies (2)
Principle Consultant at cloudcomapre·

Stick to gitlab you can still use all the other tooling along with it. Terraform is for infrastructure a d they are different things. I use a combination of gitlab, terraform among other tooling.

READ MORE
5 upvotes·4.7K views
Head of Engineering ·
Recommends
Tekton
GitLab

If you're self-hosting GitLab, then check you're on the latest version since you mentioned it not being modern (in what ways is it not modern?). GitLab is updated very regularly and IMO is definitely a candidate for the best due to it's all-in-one (low cost of integration) design.

I have experience with many CI/CD tools (going right back to CruiseControl!), but not much experience on some of the newer ones (e.g. Spinnaker / Concourse). Recently I came across Tekton, which a lot of good people are rating, so that might be worth a look if you're doing hybrid/multi-cloud with Kubernetes, but I wouldn't replace GitLab unless you're facing some constraining factor that the GitLab team can't help you with - their feature delivery is pretty quick in my experience.

READ MORE
4 upvotes·1.1K views
DevOps Engineer at LTI·
Needs advice
on
GitLabGitLab
and
GitHub ActionsGitHub Actions

Hello Everyone, Can some please help me to understand the difference between GitHub Actions And GitLab I have been trying to understand them, but still did not get how exactly they are different.

READ MORE
3 upvotes·36.8K views
Full Stack Engineer at yintrust·

We use GitLab to host internal source code.

Many companies use GitLab, just like everyone else, this can reduce the integration pressure of personnel turnover.

Although we are currently a start-up company, when the company grows larger, the use of privately deployed GitLab may become a trend. Using GitLab at the beginning will make future switching smoother.

READ MORE
6 upvotes·11.9K views
Needs advice
on
GitLabGitLab
and
CrucibleCrucible

Need advice for integration with GitLab. I want to know the tool or application used for integration with gitlab and helpful in code comparison.

READ MORE
1 upvote·75 views
Software Developer at BBT.live·

Hi all,

I would like some information regarding the benefits an aspiring start-up company may have, while using GitHub Enterprise vs the regular GitHub package. On a separate issue, I'd like to understand whether GitLab may have some DevOps-related advantages GitHub does not.

Thank you in advance, Matt

READ MORE
7 upvotes·107.3K views
Replies (5)
Founder & CEO at Moducate·

I'd lean towards GitHub (either billing plan) for one key reason that is often overlooked (we certainly did!).

If you're planning on creating OSS repositories under your start-up's name/brand, people will naturally expect to find the public repositories on GitHub. Not on GitLab, or Bitbucket, or a self-hosted Gitea, but on GitHub.

Personally, I find it simpler to have all of the repositories (public and private) under one organisation and on one platform, so for this reason, I think that GitHub is the best choice.

On the DevOps side, GitLab is far superior to GitHub (from my experience using both GitHub Enterprise and GitLab Ultimate), but for the one aforementioned, we're using GitHub at Moducate.

READ MORE
7 upvotes·1 comment·85.2K views
anas mattar
anas mattar
·
October 16th 2021 at 3:39AM

that depends on your company infrastructure. if you don't have Servers. You should use GitHub. so your repositories keep in gitHub. if you have good infrastructure so I prefer to use gitlab. So you can install it and configure on your server.

·
Reply
Recommends
GitLab

Advantages for Github Enterprise is that you get more storage, CI minutes, advanced security features, and premium support. If you don't really need any of those, you can stick with Github Team. Though if you're going to use Gitlab CI, I suggest going with Gitlab instead of Github so you won't have to maintain 2 repositories.

Regarding the advantages that Gitlab CI has over Github, there's a detailed explanation here: https://about.gitlab.com/devops-tools/github-vs-gitlab/ci-missing-github-capabilities/

If you need more minutes for Gitlab CI, you can always use your own Gitlab CI runners instead of the shared runners: https://docs.gitlab.com/runner/register/

READ MORE
6 upvotes·87.9K views
View all (5)