MAC安装Gitea踩坑记
Gitea 简介
Gitea是一个轻量级的 DevOps 平台软件。从开发计划到产品成型的整个软件生命周期,他都能够高效而轻松的帮助团队和开发者。包括 Git 托管、代码审查、团队协作、软件包注册和 CI/CD。它与 GitHub、Bitbucket 和 GitLab 等比较类似。 Gitea 最初是从 Gogs 分支而来,几乎所有代码都已更改。
也是我个人比较喜欢的一款代码管理工具,已经在本地安装使用很多年了,有着深厚的感情。最近换了台笔记本,本地需要重新安装gitea,记录安装过程中遇到的问题及解决方案。
MAC 安装gitea方案
打开官网 https://gitea.io/ ,首页点击立即开始,首先看到的是关于Gitea的介绍说明,感兴趣的小伙伴可以自行查阅。点击左边“安装”菜单,可以看到一共有13种安装方式,我们这里讲解其中三种安装方法
使用二进制文件安装
所有打包的二进制程序均包含 SQLite,MySQL 和 PostgreSQL 的数据库连接支持,同时网站的静态资源均已嵌入到可执行程序中,这一点和曾经的 Gogs 有所不同。
你可以从 下载页面 选择对应平台的二进制文件。
这是我比较喜欢的安装方式,但这里大概率需要科学上网,因为我本地是打不开的,导致没法使用该方案进行安装。
使用官方包管理器安装
安装Homebrew
macOS 平台下当前仅支持通过 brew 来安装。如果你没有安装 Homebrew,先使用以下命令安装:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew 安装gitea
安装了 brew 之后, 你可以执行以下命令安装:
brew install gitea
这是另一种非常简洁方便的安装方式,且MAC会自动在后台运行Gitea。但我在这里踩到了坑,安装Gitea过后由于将原机器Gitea记录同步到新机器来,导致本地所有项目提交记录不知道为啥全部变成了Homebrew记录
折腾了老半天也没找到解决办法,由于不想舍弃历史记录,只好卸载重新使用第三种方案进行安装。不知道有没有小伙伴遇到过这个问题,能不能分享一下解决方案?
使用源代码安装
安装编译环境
首先需要 安装Go 并正确设置Go环境,需要 Go 版本 1.20 或更高版本。推荐使用 brew 来安装。
以及使用 brew安装 Node.js 和 npm, 这是构建 JavaScript 和 CSS 文件所需的。最低支持的 Node.js 版本是 16,建议使用最新的 LTS 版本。
下载源码
然后,我们需要获取源码。由于引入了 Go 模块,最简单的方法是直接使用 Git,因为我们不再需要在 GOPATH 内构建 Gitea。
git clone https://github.com/go-gitea/gitea
由于没有GitHub 加速器,因而下载速度非常慢,甚至无法下载,因此推荐官网中开源代码
git clone https://gitea.cn/gitea/gitea.git
切换分支
切换最新分支release/v1.22
git checkout release/v1.22
更换 npm 镜像源:
国内网络环境下,直接从官方 npm 源下载可能较慢甚至出现超时。可以把 npm 镜像源更换成国内的,例如使用淘宝镜像:
npm install -g cnpm --registry=https://registry.npmjs.org/
构建
根据你的构建需求,以下 tags 可以使用:
1. bindata: 构建一个单一的整体二进制文件,包含所有资源。适用于构建生产环境版本。
2. sqlite sqlite_unlock_notify: 启用对 SQLite3 数据库的支持。仅建议在少数人使用时使用这个模式。
3. pam: 启用对 PAM( Linux 可插拔认证模块)的支持。可用于对本地用户进行身份验证或扩展身份验证到 PAM 可用的方法。
4. gogit:(实验性功能)使用 go-git 变体的 Git 命令。
将所有资源(JS/CSS/模板等)打包到二进制文件中。在生产环境部署时,使用bindata构建标签是必需的。在开发/测试 Gitea 或能够明确分离资源时,可以不用bindata。
我这里选择要包含所有资源,使用 bindata 标签,命令如下:
TAGS="bindata" make build
测试
按照上述步骤完成后,工作目录中将会有一个gitea二进制文件。可以从该目录进行测试,或将其移动到带有测试数据的目录中。当手动从命令行启动 Gitea 时,可以通过按下Ctrl + C
来停止程序。
./gitea web
配置后台启动
创建 plist 文件
在~/Library/LaunchAgents/目录下创建一个名为 gitea.plist
的文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>gitea</string>
<key>ProgramArguments</key>
<array>
<string>/Users/you/gitea</string>
<string>web</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
加载并启动
保存文件后,在终端执行 launchctl load -w ~/Library/LaunchAgents/gitea.plist
加载该服务,之后 Gitea 便会在后台自动运行,访问http://localhost:3000 或 通过 launchctl list | grep gitea
查看它的启动情况。
至此,Gitea就安装好了,又可以愉快的玩耍了...
- 本文标签: 开源 运维
- 本文链接: https://www.58cto.cn/article/102
- 版权声明: 本文由程序言原创发布, 非商业性可自由转载、引用,但需署名作者且注明文章出处:程序言 》 MAC安装Gitea踩坑记 - https://www.58cto.cn/article/102