/onedev

Git Server with CI/CD, Kanban, and Packages. Seamless integration. Unparalleled experience.

Primary LanguageJavaMIT LicenseMIT

**NOTE: ** We develop OneDev at code.onedev.io for sake of dogfooding. Please submit issues and pull requests there

Git Server with CI/CD, Kanban, and Packages

🔎 Out-of-box code search and navigation

Language aware symbol search and navigation in any commit. Click symbol to show occurrences in current file. Fast code search with regular expression. Try It

code search and navigation

👮‍ Flexible security and compliance scan

Scan code dependencies, built binaries, or container images to find security vulnerabilities, license violations, or secret exposures. [Tutorial] (https://docs.onedev.io/category/security-and-compliance-scan)

vulnerabilities

🚦 Annotate code with coverage and problems

Code will be annotated with coverage info and problems found in CI/CD pipeline, to facilitate code review. Demo

code annotation

💬 Code discussion anywhere anytime

Select any code or diff to start discussion. Suggest and apply changes. Discussions stay with code to help code understanding. See It In Action

code comment

🔒 Versatile code protection rules

Set rule to require review or CI/CD verification when certain users touch certain files in certain branches. Tutorial

code protection

📋 Automated Kanban to keep team organized

Move tasks manually in Kanban, or define rules to move them automatically when related work is committed/tested/released/deployed. See It In Action

issue board

🛠 Customizable and flexible issue workflow

Custom issue states and fields. Manual or automatic state transition rules. Issue links to sync operations and states. Confidential issues in public projects. Tutorial

workflow customization

📨 Service desk to link emails with issues

Use issues as ticket system to support customers via email, without requiring them to register accounts. Assign different support contacts for different projects or customers. Tutorial

service desk

⏰ Time tracking and reporting

Track estimated/spent time on tasks. Aggregate time from subtasks automatically. Generate time sheets for work statistics and billing. Tutorial

time tracking

💡 CI/CD as code without writing code

An intuitive GUI to create CI/CD jobs. Template for typical frameworks. Typed parameters. Matrix jobs. CI/CD logic reuses. Cache management. Tutorial

ci/cd editor

🚀 Versatile CI/CD executors from simple to scale

Run CI/CD out-of-box in container or on bare metal. Run massive jobs concurrently with Kubernetes or agents. Example1 Example2

job executors

🛠 Tools to debug CI/CD jobs

Command to pause job execution. Web terminal to check job execution environment. Run job locally against uncommitted changes. Tutorial1 Tutorial2

web terminal

📦 Built-in package registries

Built-in registry to manage binary packages. Link packages with CI/CD jobs. Tutorial

package registry

🧩 Deep integration and information cross-reference

Transit issue state via commit, CI/CD, or pull request. Show fixing builds of issue. Query fixed issues or code changes between build/package versions. Example1 Example2

deep integration

🌲 Project tree for easy maintenance

Use tree to organize projects clearly and efficiently. Define common settings in parent project and inherit in child projects. See It In Action

project tree

🐒 Smart query that can be saved and subscribed

Powerful and intuitive query for everything. Save query for quick access. Subscribe to query to get notified of interesting events. Try It

issue query

🎛️ Dashboard for teams and users

Arrange gadgets in custom dashboard to get important information at a glance. Share dashboard with users or groups, or make it public for everyone. See It In Action

edit dashboard

👯 Effortless high availability and scalability

Easy cluster setup. Replicate projects across different servers for high availability, or distribute projects for horizontal scalability. More Info

high availability

🛸 Command palette for quick access

Use cmd/ctrl-k to bring up command palette from anywhere. Search anything and jump to it without digging through menus. Try It

command palette

📈 SLOC trend by language

Inspects git history of main branch to calculate trend of source lines of code by language efficiently. See It In Action

SLOC trends

🕊️ Fast, lightweight, and reliable

Crafted with resource usage and performance in mind. Get all features above with a 1 core 2G mem box for medium-sized projects. Intensively used for more than 5 years, with battle-proven reliability. Performance Comparison

resource usage