<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Git on Nick's Blog</title><link>https://ibelieving.com/tags/git/</link><description>Recent content in Git on Nick's Blog</description><generator>Hugo</generator><language>zh-cn</language><copyright>2014 ibelieving.com. All rights reserved.</copyright><lastBuildDate>Tue, 12 Jul 2022 22:30:00 +0800</lastBuildDate><atom:link href="https://ibelieving.com/tags/git/index.xml" rel="self" type="application/rss+xml"/><item><title>OneDev 自建 Git 服务和 CI/CD</title><link>https://ibelieving.com/posts/2022-07-12-onedev/</link><pubDate>Tue, 12 Jul 2022 22:30:00 +0800</pubDate><guid>https://ibelieving.com/posts/2022-07-12-onedev/</guid><description>&lt;h2 id="介绍"&gt;介绍&lt;/h2&gt;
&lt;p&gt;今天介绍一个可以自建的开源 Git 服务 &lt;a href="https://github.com/theonedev/onedev"&gt;OneDev&lt;/a&gt;, 功能强大，资源占用少，国人 Java 开发。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;开箱即用的符号跳转、符号搜索&lt;/li&gt;
&lt;li&gt;全功能的 CI/CD，支持 GUI&lt;/li&gt;
&lt;li&gt;强大易用的 Commit/Issue/Build/Pull Request 查询语言&lt;/li&gt;
&lt;li&gt;代码标注和讨论&lt;/li&gt;
&lt;li&gt;更多功能特性看官网说明&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;目前不足是全英文，文档简洁，还不知道什么时候支持中文，也不算什么大事。另外小 Bug 多，不过作者修复神速。&lt;/p&gt;
&lt;h2 id="部署安装"&gt;部署安装&lt;/h2&gt;
&lt;p&gt;运行环境 &lt;code&gt;k8s v1.21.5&lt;/code&gt;，容器运行时 &lt;code&gt;containerd&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;安装方式直接参考&lt;a href="https://docs.onedev.io/installation-guide/deploy-to-k8s"&gt;官方文档&lt;/a&gt; &lt;code&gt;helm&lt;/code&gt; 装就完事，除了在 &lt;code&gt;k8s&lt;/code&gt; 运行也可以直接 &lt;code&gt;docker run&lt;/code&gt; 和裸机跑。
&lt;code&gt;helm&lt;/code&gt; 安装完成会创建一个 &lt;code&gt;onedev&lt;/code&gt; 的 &lt;code&gt;service&lt;/code&gt; &lt;code&gt;type&lt;/code&gt; 是 &lt;code&gt;LoadBalancer&lt;/code&gt;，由于我使用 &lt;code&gt;apisix ingress&lt;/code&gt; 所以直接改成 &lt;code&gt;ClusterIP&lt;/code&gt; 然后外面再套负载均衡走流量。细节不展开了可以参考&lt;a href="https://ibelieving.com/posts/2022-07-05-apache_apisix_ingress/"&gt;实践 Apache APISIX Ingress&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id="符号跳转搜索"&gt;符号跳转、搜索&lt;/h2&gt;
&lt;p&gt;支持 Java, JavaScript, C, C++, CSharp, Go, PHP, Python, CSS, SCSS, LESS and R 语言，IDE 级别的功能。
据作者说使用 ANTLR 分析主流语言的语法，并提取符号定义进行增量存储，速度快，占用空间小。&lt;/p&gt;
&lt;p&gt;&lt;img alt="符号搜索" loading="lazy" src="https://ibelieving.com/images/onedev1.jpg"&gt;
&lt;img alt="符号跳转" loading="lazy" src="https://ibelieving.com/images/onedev2.jpg"&gt;&lt;/p&gt;</description></item></channel></rss>