BlogsGitLabProject Hosting and Collaboration Alternatives

Project Hosting and Collaboration Alternatives

Project Hosting and Collaboration Alternatives

23
posts
2014–2024

GitLab.com has evolved as a robust, open-source, community-driven alternative to centralized project hosting services like GitHub and Bitbucket. This thread tracks its value proposition, emphasizing its free tier for unlimited repositories and collaborators, beautiful design, advanced contributor statistics, flexible repository grouping, powerful source code search, fine-grained permission management, integrated CI/CD, and seamless import capabilities. The platform aims to provide a superior and cost-effective solution for project hosting and collaboration. This post details a customer's migration from GitHub to a self-managed GitLab instance, highlighting significant cost savings by comparing GitLab's self-hosted CI/CD capabilities (GitLab Runner) against paid third-party CI services like Travis-CI, and comparing GitLab's unlimited user/repository model against GitHub's evolving per-user pricing for private repositories. It also provides practical guidance on installing and configuring GitLab CE, including common gotchas and tips for importing large repositories.

2024

How to tailor GitLab access with custom roles

2/13/2024

This post details the evolution of GitLab's access control system, moving from fixed default roles to customizable roles. It introduces the concept of a consistent CRUD (Create, Read, Update, Delete) model for defining permissions and discusses the ability to build custom roles from templates or from scratch, removing the dependency on default roles. The post also highlights the need to address a wide range of access permutations and provides examples of permission groupings for registries and developers.

2023

GitHub to GitLab migration the easy way

7/11/2023

This post details the process of migrating projects from GitHub to GitLab using GitLab's built-in importer. It outlines the types of data that can be migrated (repository description, Git data, branch protection rules, collaborators, issues, pull requests, wikis, milestones, labels, release notes, attachments, comments, LFS objects, reviews, and events), the prerequisites for migration (Maintainer role, matching email addresses), and a step-by-step guide to performing the import. It also covers the manual migration of GitHub Actions to GitLab CI/CD pipelines by creating a `.gitlab-ci.yml` file and defining jobs that replicate the functionality of the original Actions, including examples for linting, smoke tests, and unit tests.

How to migrate data to GitLab using main importers

2/13/2023

This post details the evolution of GitLab's data migration capabilities, focusing on group migration (direct transfer) and file-based export/import. It outlines the process and imported items for group migration, emphasizing its preference over file-based methods for connected instances. It also details the items importable from GitHub, including repository data, issues, pull requests, and attachments, and mentions the 'Repository by URL' import option. The post highlights the ongoing development efforts by the group:import team to enhance these importers.

Start an open source center of excellence in 10 minutes using GitLab

1/30/2023

This post introduces the MyGGI project, which leverages GitLab issues and GitLab Pages to provide a deployable infrastructure for establishing an Open Source Program Office (OSPO). It details the process of importing the project repository, configuring access tokens and CI/CD variables, and running a pipeline to set up the OSPO infrastructure. The post explains how the project uses GitLab issues to represent GGI Handbook activities and a static website on GitLab Pages to visualize progress.

Moving projects easily: GitLab migration automation benefits

1/18/2023

Introduces the beta for migrating GitLab projects by direct transfer, allowing for automated migration of top-level groups and all their projects between GitLab instances. This improves efficiency over file exports and correctly maps user associations. Details availability, configuration for self-managed instances, and provides step-by-step instructions for using the feature. Outlines future improvements including granular imports (subgroups, project selection), importing project relations, and automatic user migration.

2022

Arm Open Source makes a seamless migration to GitLab

10/3/2022

This post details Arm's migration of its open-source projects to GitLab. Key technical aspects include: consolidating stand-alone Git servers and public web-based Git services into a single GitLab solution; leveraging GitLab's open-source nature to host on native Arm-based hardware and use internal tooling; addressing concerns about proprietary solutions and code ownership by choosing an open-source platform; and the successful integration of GitLab with Arm's infrastructure, including support for Arm architecture and fine-grained access control on AWS Graviton EC2 instances. The migration also highlights the ease of setup for CI/CD, tool simplification, and improved collaboration.

Postman integration with GitLab makes API workflows easier

8/24/2022

This post introduces a new integration between Postman and GitLab. This integration allows users to link APIs in Postman to their GitLab cloud repositories, enabling version control within Postman for API elements like branches, releases, versions, and tags. It also facilitates pushing Postman-created elements (schema, collections) to GitLab repositories to coexist with source code, and allows for following branching workflows in Postman with review and merging of external changes back to Postman. The integration aims to provide a unified view of API elements and reduce the use of outdated APIs.

2021

Migrating repositories to GitLab just became easier

10/26/2021

Introduced Congregate, a source-available utility for automating large-scale source code repository migrations, leveraging published APIs and multiprocessing for performance optimization. Standardized logging format for auditability. Supports migration from multiple source systems.

Kali Linux: Growing Community Contributions with GitLab

2/18/2021

Kali Linux migrated from Gitolite to GitLab to enable community contributions and consolidate their toolchain. They leverage GitLab's API for automating repository configurations (forking, default branch, disabling features, setting descriptions, CI paths, email notifications). They use GitLab for source code management, internal documentation (Wiki), project management (issue tracking, labels, milestones), user permissions, security features (2FA, project access tokens), analytics, and CDN. They plan to use CI/CD, container management, and GitLab Pages for their website. The migration has led to increased community contributions (merge requests, bug reports) and improved development practices (commit discussions, planning). Challenges included automating hardcoded references and migrating a large number of diverse repositories. They value GitLab's outreach program and open-source model.

2020

Why you should switch to distributed version control

11/19/2020

This post introduces and advocates for distributed version control systems (DVCS) as a superior alternative to centralized version control systems (CVCS). It details the drawbacks of CVCS, such as single points of failure and slow remote operations, and highlights the advantages of DVCS, including increased collaboration, offline commit capabilities, and faster branching. The post specifically mentions Git as a popular DVCS and briefly touches on its features.

2018

CERN uses GitLab to remove the obstacles around global researchers

10/12/2018

CERN, a large international research organization, adopted GitLab for its code hosting needs to manage thousands of projects and contributors globally. They chose GitLab's self-managed, open-core model for its data sovereignty and ease of use for less experienced Git users. CERN leverages GitLab for code review, collaboration, and tracking development processes, handling over 12,000 users and 120,000 CI jobs monthly. The on-premise nature of GitLab is crucial for accessing other CERN services and data storage.

Welcome to GitLab, freedesktop.org!

8/20/2018

freedesktop.org, a neutral collaboration space for open source desktop developers, is migrating to GitLab. This migration aims to consolidate their diverse services (LDAP, Bugzilla, Mailman, Git hosting, Patchwork, Jenkins, ikiwiki) into a single, integrated platform. The move is driven by the need for a modern development workflow that includes distributed version control, integrated review, and issue tracking, which their current infrastructure lacks. The integration of repository management, issue tracking, code review, CI pipelines, container repositories, wikis, and websites in GitLab Core will provide functionality previously unavailable or poorly imitated. This will reduce administrative overhead for the volunteer-run freedesktop.org and improve identity and security management with features like two-factor authentication and a coherent approach to spam prevention.

2017

Git Wars: Why I'm switching to GitLab

7/19/2017

This post argues for switching to GitLab from GitHub and Bitbucket, highlighting GitLab's free tier for unlimited users and private repositories, its built-in Docker registry, integrated CI/CD (GitLab CI), and syntax themes as key advantages. It also mentions 3rd party integrations and features comparable to GitHub like Wikis and Markdown readmes. The author acknowledges GitLab's market share is smaller than GitHub's due to comfortability and network effects, but advocates for its technical merits.

What to look for in a Git management solution

4/20/2017

This post introduces the concept of Git management solutions and their necessity for teams beyond command-line proficient developers. It outlines key decision factors for choosing such a solution: hosted vs. on-premise, integration capabilities with other development tools (issue tracking, CI/CD, code review, collaboration), and cost considerations. It also references external resources like a panel discussion on Git and GitLab's pricing and hosting pages.

2016

GitLab's Application for Y Combinator Winter 2015

9/30/2016

This post introduces GitLab's application for Y Combinator in Winter 2015, detailing the company's mission to create open-source software for code collaboration. It highlights the existing product's capabilities, including version control, pull/merge requests, forking, public projects, wikis, issue trackers, and GitLab CI with distributed workers. The post also mentions the company's current operational base, founder introductions, and progress metrics such as over 100,000 organizations using GitLab and a significant monthly revenue growth rate. It positions GitLab as a strong competitor in the on-premises market, emulating Netflix's strategy of focusing on the 'DVD' (on-premise) market while competitors focus on 'video-on-demand' (SaaS). The core idea is to leverage the open-source development process for marketing and product-market fit, with a proprietary commercial version for scalable revenue.

Customer Story: Moving to GitLab! Yes, it's worth it!

8/4/2016

This post details a customer's migration from GitHub to a self-managed GitLab instance, highlighting significant cost savings by comparing GitLab's self-hosted CI/CD capabilities (GitLab Runner) against paid third-party CI services like Travis-CI, and comparing GitLab's unlimited user/repository model against GitHub's evolving per-user pricing for private repositories. It also provides practical guidance on installing and configuring GitLab CE, including common gotchas and tips for importing large repositories.

Customer Story: Charge

5/31/2016

Charge, a small telecommunications startup, migrated from raw Git with git+ssh to GitLab Community Edition for their 25 repositories and 5 developers. This migration was driven by the need for a web interface for repo management and code review, and strict industry regulations concerning customer information (CPI) security. GitLab CE's self-hosted nature and privacy controls were paramount. The team uses Google OAuth integration, webhooks, and Git hooks for build server integration, leading to decreased deployment times and increased confidence.

The future of SaaS hosted Git repository pricing

5/11/2016

This post discusses the evolution of SaaS hosted Git repository pricing, specifically in response to GitHub's announcement of unlimited private repositories. It argues that unlimited repositories are becoming a standard offering ('table stakes') in the market. GitLab's pricing model is highlighted as being per-user, which is considered more predictable and aligned with the value organizations receive, especially with the rise of microservices. GitLab.com offers a free tier with unlimited private repositories, unlimited contributors, and unlimited CI runners, funded by its on-premises solutions. The post also touches on the performance challenges faced by GitLab.com due to rapid growth and ongoing efforts to improve it.

2015

GitLab <3 Ruby Together

12/21/2015

This post highlights GitLab's commitment to the broader open-source ecosystem by becoming an Emerald member of Ruby Together. This demonstrates a strategic understanding that GitLab's success is intertwined with the health of foundational open-source projects like Bundler and RubyGems.org, which are critical for developers using Ruby. It signifies GitLab's role not just as a project hosting platform, but as a contributor to the sustainability of the tools that power software development.

A grant to help us integrate GitLab with open source OSF

9/3/2015

This post announces a grant initiative to integrate GitLab with the Open Science Framework (OSF). This integration aims to support researchers by providing GitLab as a storage option within OSF, enhancing research efficiency and reproducibility. It highlights GitLab's commitment to supporting the open-source movement and expanding its utility beyond traditional software development.

Why move to a single code collaboration tool?

2/6/2015

This post advocates for consolidating disparate code collaboration tools into a single platform, specifically highlighting GitLab Enterprise Edition. It details the technical and administrative benefits of such a consolidation, including improved inter-team collaboration through features like easy project sharing and unified permission schemas. It also touches upon the operational advantages of managing a single installation for security patching and support, contrasting this with the complexity of maintaining multiple systems. The post also briefly mentions scalability and disaster recovery options for the consolidated platform and introduces the GitLab flow as a recommended workflow.

2014

How GitLab Permissions and Protected Branches Keep Your Code Safe

11/26/2014

This post introduces GitLab's permission system, defining roles like Guest, Reporter, Developer, Maintainer, and Owner based on read/write access. It also details the 'protected branches' feature, which prevents force pushes and deletions on specified branches, mandating merge requests for contributions to these branches. The underlying authorization mechanism using the 'Six' gem and its 'Ability' class is also explained.

The 7 Most Important Open Source Workflow Practices for Enterprises

9/5/2014

Introduced the concept of 'inner-sourcing' by detailing seven key open-source workflow practices (visibility, forking, pull/merge requests, testing, CI, documentation, issue tracker) and explaining their applicability and benefits for enterprises. Highlighted GitLab's role in enabling these practices, particularly through the introduction of an 'internal' project visibility level.