feat: 优化 OneDev 安装包

This commit is contained in:
wanghe-fit2cloud 2024-04-02 16:29:30 +08:00
parent 0b9f9f0925
commit 5bafdd254e
3 changed files with 19 additions and 144 deletions

View File

@ -1,6 +1,7 @@
version: '3' version: '3'
services: services:
onedev: onedev:
image: 1dev/server:10.3.3
container_name: ${CONTAINER_NAME} container_name: ${CONTAINER_NAME}
restart: always restart: always
networks: networks:
@ -9,12 +10,10 @@ services:
- "${PANEL_APP_PORT_HTTP}:6610" - "${PANEL_APP_PORT_HTTP}:6610"
- "${PANEL_APP_PORT_SSH}:6611" - "${PANEL_APP_PORT_SSH}:6611"
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/opt/onedev - ./data:/opt/onedev
image: 1dev/server:10.3.3 - /var/run/docker.sock:/var/run/docker.sock
labels: labels:
createdBy: "Apps" createdBy: "Apps"
networks: networks:
1panel-network: 1panel-network:
external: true external: true

View File

@ -1,140 +1,16 @@
<div class='d-none'> # OneDev
> **Note** **OneDev** 是一款带有 CI/CD、Kanban 和 Packages 的 Git 服务器。无缝整合。无与伦比的体验。
> 1. Do not worry about security advisories above. They are fixed as soon as discovered and published to notify users</span>
> 2. We develop OneDev at <a href="https://code.onedev.io/onedev/server">code.onedev.io</a> for sake of dogfooding. All issues and pull requests should be submitted there
</div> # 功能简介:
<div align="center"> - **项目管理:** 提供全面的项目管理功能,包括创建、编辑和删除项目,以及管理项目成员和权限。
<h1>Self-hosted Git Server with Kanban and CI/CD</h1> - **代码托管:** 支持代码托管功能,用户可以在 OneDev 中托管他们的代码仓库,并进行版本控制。
- **持续集成/持续部署 (CI/CD)** 内置 CI/CD 功能,支持自动化构建、测试和部署流程。
<h2> - **问题跟踪:** 提供问题跟踪功能,用户可以创建、分配和解决问题,以便更好地管理项目。
<a href="https://docs.onedev.io">Quickstart</a> - **Wiki** 提供 Wiki 功能,用于创建和共享项目文档、说明和教程。
| <a href="https://docs.onedev.io/category/installation-guide">Installation Guide</a> - **代码审查:** 支持代码审查功能,方便进行代码审查和合并请求的管理。
| <a href="https://docs.onedev.io">All Documentation</a> - **Webhooks 支持:** 支持 Webhooks允许用户在特定事件发生时触发自定义操作。
</h2> - **多语言支持:** 提供多语言界面,以满足全球用户的需求。
- **用户友好界面:** 提供直观友好的用户界面,使用户能够轻松上手并高效进行项目管理和开发。
<p style="margin-bottom: 20px;"> - **权限管理:** 支持灵活的权限管理,管理员可以根据需要分配和管理用户权限。
</div>
## Out-of-box Symbol Search and Navigation
Of course IDE is good at doing this, but often we need to search in old commits (investigate issues in release versions etc), and switching commits in IDE can be troublesome and slow. 
It works by analyzing source code with ANTLR, extracting symbols for storage incrementally, fast and space efficient. Now supports Java, JavaScript, C, C++, CSharp, Go, PHP, Python, CSS, SCSS, LESS and R. GitHub adds this feature several years ago, but seems that it only works for main branch, and GitLab has to configure CI job to generate and upload LSIF which is troublesome and can occupy considerable space if you do it for each commit.
You can also jump to symbol definition in diff while reviewing commits or pull requests.
![searchsymbol](https://github.com/theonedev/onedev/raw/main/doc/images/search-symbol.gif)
![jumpsymbol](https://github.com/theonedev/onedev/raw/main/doc/images/symbol.gif)
## Code Search with Regular Expression
You may switch to any commit, and search code with regular expression. OneDev under the hood indexes the code with Lucene incrementally. At search time, literal tri-grams in the regular expression are extracted for a coarse search, followed by exact match in the result. This makes the regex search blazing fast, even for large repositories like Linux.
![regex](https://github.com/theonedev/onedev/raw/main/doc/images/regex-search.gif)
## Annotate Source/Diff with Static Analysis Result to Facilitate Code Review
Of course this can be done by many third party applications at GitHub, however they display the result on their own applications, and this makes review activities such as adding comment over analysis result difficult. Not to mention that you need to pay for these services.
![annotation](https://github.com/theonedev/onedev/raw/main/doc/images/annotation.png)
## Customizable Issue State and Field, with Deep CI/CD Integration
The simple open/close state of GitHub/GitLab issues does not work well for many workflows. Considering issues submitted by customers:
1. If developer closes issue upon committing the code, customer will be notified and may ask for the release fixing the issue.
2. If developer closes the issue at release time, QA might be confused at what issues to test as they all remain open at test time. 
With customizable issue states, we may address the issue with four states: open, committed, test ready and released:
1. When code is committed, issue transits to committed state automatically
2. When a test build is created and deployed, the issue transits to test ready state automatically. QA will be notified and can check issue detail to know which environment the test build is deployed into.
3. When test passes, and a release build is created, customers submitting the issue will be notified and they can check issue detail to see which release contains the fix.
![boards](https://github.com/theonedev/onedev/raw/main/doc/images/boards.png)
![fixing-build](https://github.com/theonedev/onedev/raw/main/doc/images/fixing-build.png)
## Service Desk to Create/Discuss Issues via Email
Service desk allows your users to submit tickets via email without the need to have a OneDev account. These tickets can then be created in desired projects, and assigned to appropriate members in your team. All further discussions over the tickets can take place completely in email, with discussion contents posted to ticket as comments. User will also get notifications when there are any ticket activities, for instance, when a relevant release is created or deployed
![service-desk.png](https://github.com/theonedev/onedev/raw/main/doc/images/service-desk.png)
## A powerful and Intuitive Query Language
Thanks to ANTLR again, OneDev ships sophisticated query languages for projects, commits, issues, builds, and pull requests, with intuitive auto-completions and hints. For instance, it enables our customers finding fixed issues between their running release and latest release, and enables us to find all commits submitted by someone touching specified modules, etc. 
Queries can be saved and subscribed, so that you won't miss anything interested.
![query](https://github.com/theonedev/onedev/raw/main/doc/images/query.gif)
## A Full-fledge CI/CD Engine without Writing Yaml
OneDev ships with GUI to generate CI/CD Yaml. No need to google around for Yaml grammars. A one-liner docker command to start OneDev server and you have a local CI/CD runner automatically. Concerns about server capability to run massive jobs? Another one-liner to connect self-updating agent from any machine. Want auto-scale CI/CD farm? A helm one-liner to deploy OneDev into k8s cluster. 
Build pipeline, matrix jobs, typed parameters, parameter chaining, step templates, build promotions… too many neat features to elaborate…
![job-def](https://github.com/theonedev/onedev/raw/main/doc/images/job-command.gif)
![run-job](https://github.com/theonedev/onedev/raw/main/doc/images/build-option.gif)
![pipeline.gif](https://github.com/theonedev/onedev/raw/main/doc/images/pipeline.gif)
## Flexible Pull Request Review Policy and Reviewer Suggestion
Specify pull request review policy based on author, branch, and changed files. OneDev can leverage git change history to suggest most appropriate reviewers for pull requests touching certain files.
![review-policy](https://github.com/theonedev/onedev/raw/main/doc/images/review-policy.gif)
## Lightweight Review without Pull Request
Comment on any part of code or diff to start a lightweight review without opening pull request. Review comments live through code modification and even file rename to serve as documentation. 
Each discussion is threaded so that you can easily know discussions with new comments/updates.
![file-comment](https://github.com/theonedev/onedev/raw/main/doc/images/file-comment.gif)
![thread-comments](https://github.com/theonedev/onedev/raw/main/doc/images/threaded-comments.png)
## Command Palette to Access Features Quickly
Press cmd/ctrl-k to bring up command palette from anywhere. Search projects, files, issues, pull requests, builds, and various settings and jump to them without leaving your keyboard
![command-palette.gif](https://github.com/theonedev/onedev/raw/main/doc/images/command-palette.gif)
## Write Markdown Pleasantly With a Smart Editor
When embedding an image in a markdown file in GitHub/GitLab, you need to upload the image in a separate page, and then figure out the relative path to reference that image. With OneDev, you simply upload the image to desired folder in same editor, and the link will be generated automatically. 
OneDev tracks your cursor in edit window and scrolls the preview window as necessary so that you can always preview what you are typing.
![markdown](https://github.com/theonedev/onedev/raw/main/doc/images/markdown.gif)
## SLOC Trend By Language
OneDev inspects git history of main branch to calculate trend of source lines of code by language efficiently.
![stats](https://github.com/theonedev/onedev/raw/main/doc/images/stats.png)
## Project Hierarchy to Facilitate Setting Inheritance
Organization is ideal for public service. However for self-hosted internal use, we feel that a hierarchical structure is more practical to organize projects. Child projects can inherit settings from parent project and can selectively override some of them if necessary. This reduces a lot of overhead to manage a lot of projects in the company.
## Fast and Reliable with Moderate Resource Usage
OneDev is carefully designed with performance in mind. With a 2 core 2GB box, you will get all features above for medium sized projects.
It has been intensively used for more than 5 years, with battle-proven reliability. Fixing bugs is our highest priority, and there is
normally few to no known bugs in the wild.
----
# Special Thanks
![yourkit](https://www.yourkit.com/images/yklogo.png)
[YourKit](https://yourkit.com) supports this project by providing a free open source license of their excellent Java profiler

View File

@ -1,16 +1,16 @@
name: OneDev name: OneDev
tags: tags:
- CI/CD - CI/CD
title: 具有 CI/CD 和 Kanban 的自托管 Git 服务器 title: 带有 CI/CD、Kanban 和 Packages 的 Git 服务器
type: CI/CD type: CI/CD
description: 具有 CI/CD 和 Kanban 的自托管 Git 服务器 description: 带有 CI/CD、Kanban 和 Packages 的 Git 服务器
additionalProperties: additionalProperties:
key: onedev key: onedev
name: OneDev name: OneDev
tags: tags:
- CI/CD - CI/CD
shortDescZh: 具有 CI/CD 和 Kanban 的自托管 Git 服务器 shortDescZh: 带有 CI/CD、Kanban 和 Packages 的 Git 服务器
shortDescEn: Self-hosted Git Server with CI/CD and Kanban shortDescEn: Git Server with CI/CD, Kanban, and Packages
type: tool type: tool
crossVersionUpdate: true crossVersionUpdate: true
limit: 0 limit: 0