原创

MAC安装Gitea踩坑记

温馨提示:
本文最后更新于 2025年01月09日,已超过 14 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

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记录

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就安装好了,又可以愉快的玩耍了...

正文到此结束
本文目录