Configs2026年4月22日·1 分钟阅读

Gitness — Open-Source Self-Hosted Git Platform by Harness

A lightweight, high-performance Git hosting platform with built-in CI/CD pipelines, code reviews, and developer workflows in a single binary.

Introduction

Gitness is a developer platform built by Harness that combines Git hosting with integrated CI/CD pipelines. It ships as a single Go binary with an embedded database, making it straightforward to deploy and maintain for teams that want full control over their source code infrastructure.

What Gitness Does

  • Hosts Git repositories with a clean web UI for browsing code and history
  • Provides built-in CI/CD pipelines defined as YAML in the repository
  • Supports pull requests with inline code review and approval workflows
  • Offers repository-level and organization-level access controls
  • Includes a container registry for storing and distributing images

Architecture Overview

Gitness is written in Go and ships as a single statically linked binary. It embeds SQLite by default for metadata storage and manages Git objects directly on disk. The web frontend is a React application bundled into the binary. Pipeline execution uses a container-based runner that can scale horizontally for parallel jobs.

Self-Hosting & Configuration

  • Run via Docker or download the binary for Linux, macOS, or Windows
  • Data persists in a single volume (/data) containing repos and the database
  • Configure via environment variables: GITNESS_URL_BASE, GITNESS_HTTP_PORT
  • Swap SQLite for PostgreSQL for larger deployments with GITNESS_DATABASE_DRIVER
  • Place behind a reverse proxy with TLS for production use

Key Features

  • Single-binary deployment with zero external dependencies
  • Integrated pipelines eliminate the need for a separate CI/CD server
  • Pull request workflows with reviewers, merge checks, and status gates
  • Built-in secrets management for pipeline credentials
  • Lightweight resource footprint suitable for small teams and edge deployments

Comparison with Similar Tools

  • Gitea — mature self-hosted Git with large ecosystem but no built-in CI/CD
  • GitLab CE — comprehensive DevOps platform but heavier on resources
  • Forgejo — community fork of Gitea focused on governance; also lacks built-in CI
  • OneDev — self-hosted Git with CI, but uses a Java stack
  • Gogs — minimal Git hosting; pipelines require external tooling

FAQ

Q: How does Gitness compare to Gitea in resource usage? A: Both are lightweight Go binaries. Gitness adds pipeline execution, which uses more resources only when pipelines run.

Q: Can I migrate repositories from GitHub or GitLab? A: Yes. Gitness supports importing repositories via Git clone URLs and can mirror external repos.

Q: Is Gitness production-ready? A: Gitness is actively maintained by Harness. For large-scale production, use PostgreSQL as the database backend and run the pipeline runner on dedicated infrastructure.

Q: Does it support branch protection rules? A: Yes. You can require pull request reviews, status checks, and restrict who can push to protected branches.

Sources

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产