onedev
Git Server with CI/CD, Kanban, and Packages. Seamless integration. Unparalleled experience.
Top Related Projects
Quick Overview
OneDev is a self-hosted Git server with CI/CD, Kanban, and issue tracking capabilities. It aims to provide an all-in-one solution for software development teams, offering a user-friendly interface and powerful features to streamline the development process.
Pros
- Integrated CI/CD, issue tracking, and Kanban boards in a single platform
- Self-hosted solution, providing full control over data and infrastructure
- User-friendly interface with a modern, responsive design
- Supports Docker-based build environments for consistent and reproducible builds
Cons
- Requires self-hosting, which may be challenging for teams without infrastructure expertise
- Limited third-party integrations compared to more established platforms
- Smaller community and ecosystem compared to popular alternatives like GitLab or GitHub
- May have a steeper learning curve for teams transitioning from multiple specialized tools
Getting Started
To get started with OneDev, follow these steps:
- Install Docker on your server
- Run the following command to start OneDev:
docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock -v $(pwd)/onedev:/opt/onedev -p 6610:6610 -p 6611:6611 1dev/server
- Access the OneDev web interface at
http://localhost:6610
- Follow the setup wizard to configure your instance
- Create your first project and start using OneDev for Git hosting, CI/CD, and issue tracking
For more detailed instructions and configuration options, refer to the official documentation at https://code.onedev.io/projects/160/blob/main/readme.md
Competitor Comparisons
Gogs is a painless self-hosted Git service
Pros of Gogs
- Lightweight and resource-efficient, suitable for low-end hardware
- Simple setup process with minimal dependencies
- Cross-platform support, including Windows
Cons of Gogs
- Limited built-in CI/CD capabilities compared to OneDev
- Less extensive project management features
- Slower development pace and fewer updates
Code Comparison
OneDev (Java):
@Editable(name="Git")
public class GitContribution extends Contribution {
private static final long serialVersionUID = 1L;
private String commitHash;
}
Gogs (Go):
type Repository struct {
ID int64 `xorm:"pk autoincr"`
OwnerID int64 `xorm:"UNIQUE(s)"`
LowerName string `xorm:"UNIQUE(s) INDEX NOT NULL"`
Name string `xorm:"INDEX NOT NULL"`
Description string
Website string
}
OneDev offers a more comprehensive self-hosted DevOps platform with integrated CI/CD, issue tracking, and code review features. It's built in Java and provides a modern, feature-rich interface.
Gogs, written in Go, focuses on being a lightweight, easy-to-deploy Git service. It's ideal for small teams or personal use, especially on resource-constrained systems.
While OneDev excels in providing an all-in-one DevOps solution, Gogs shines in its simplicity and efficiency. The choice between them depends on the specific needs of the project and available resources.
A Git platform powered by Scala with easy installation, high extensibility & GitHub API compatibility
Pros of GitBucket
- Written in Scala, which may be preferred by some developers
- Longer project history and potentially more mature codebase
- Supports plugins for extended functionality
Cons of GitBucket
- Less frequent updates and commits compared to OneDev
- Fewer built-in CI/CD features
- May have a steeper learning curve for those unfamiliar with Scala
Code Comparison
GitBucket (Scala):
def getRepositoryInfo(owner: String, repository: String): Option[RepositoryInfo] = {
getRepository(owner, repository).map { repositoryInfo =>
// Additional logic...
repositoryInfo
}
}
OneDev (Java):
@Transactional
@Override
public Project getProject(String projectPath) {
Project project = projectManager.findByPath(projectPath);
if (project == null)
throw new EntityNotFoundException("Unable to find project: " + projectPath);
return project;
}
Both repositories aim to provide self-hosted Git solutions with integrated project management features. OneDev focuses on a more comprehensive CI/CD pipeline integration, while GitBucket offers a plugin system for extensibility. The choice between them may depend on specific project requirements, team expertise, and desired features.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
**NOTE: ** We develop OneDev at code.onedev.io for sake of dogfooding. Please submit issues and pull requests there
ð 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
ð®â 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)
ð¦ 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 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
ð Versatile code protection rules
Set rule to require review or CI/CD verification when certain users touch certain files in certain branches. Tutorial
ð 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
ð 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
ð¨ 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
â° Time tracking and reporting
Track estimated/spent time on tasks. Aggregate time from subtasks automatically. Generate time sheets for work statistics and billing. Tutorial
ð¡ 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
ð 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
ð 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
ð¦ Built-in package registries
Built-in registry to manage binary packages. Link packages with CI/CD jobs. Tutorial
𧩠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
ð² 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
ð 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
ðï¸ 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
ð¯ Effortless high availability and scalability
Easy cluster setup. Replicate projects across different servers for high availability, or distribute projects for horizontal scalability. More Info
ð¸ 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
ð 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
ðï¸ 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
Top Related Projects
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot