主页 > 软件开发  > 

OpenEuler学习笔记(三十五):搭建代码托管服务器

OpenEuler学习笔记(三十五):搭建代码托管服务器

以下是主流的代码托管软件分类及推荐,涵盖自托管和云端方案,您可根据团队规模、功能需求及资源情况选择:


一、自托管代码托管平台(可私有部署) 1. GitLab 简介: 功能全面的 DevOps 平台,支持代码托管、CI/CD、问题跟踪等。特点: 开源(社区版 CE)和商业版(EE)可选。集成自动化测试、容器仓库、Kubernetes 管理。资源占用较高(建议 4GB 内存以上)。 官网: about.gitlab 2. Gitea 简介: 轻量级自托管 Git 服务,适合个人或小团队。特点: 资源占用低(100MB 内存即可运行)。安装简单,支持 SQLite/MySQL/PostgreSQL。基础功能齐全,插件生态较弱。 官网: gitea.io
二、云端托管平台(无需自部署) 1. GitHub 简介: 全球最大的代码托管平台,微软旗下。特点: 开源项目免费,私有仓库按人数收费。集成 Actions CI/CD、Pages 静态站点。 官网: github 2. GitLab 简介: GitLab 的云端托管版本。特点: 免费私有仓库,企业级功能需付费。与自托管版功能同步。 官网: gitlab 3. Azure DevOps 简介: 微软推出的云端 DevOps 平台。特点: 免费基础功能,支持 Git 和 TFVC 仓库。深度集成 Azure 云服务。 官网: azure.microsoft /services/devops
三、选择建议

个人/小团队:

轻量自托管:Gitea。云端免费:GitHub(私有库免费)、Codeberg。

企业级需求:

自托管:GitLab CE/EE。云端服务:GitHub Enterprise、Azure DevOps。

生态集成:

微软生态:Azure DevOps + VS Code。

在OpenEuler上搭建代码托管服务器(如GitLab或Gitea)的步骤如下,分为两种常见方案:


方案一:使用 GitLab 搭建代码托管服务器 1. 安装依赖 # 更新系统 sudo dnf update -y # 安装必要工具 sudo dnf install -y curl policycoreutils openssh-server postfix # 启动并设置SSH和Postfix开机自启 sudo systemctl enable sshd sudo systemctl start sshd sudo systemctl enable postfix sudo systemctl start postfix 2. 添加GitLab仓库并安装 # 添加GitLab CE仓库 curl packages.gitlab /install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash # 安装GitLab CE(替换为你服务器的域名或IP) sudo EXTERNAL_URL="http://your-server-ip-or-domain" dnf install -y gitlab-ce 3. 配置GitLab # 编辑配置文件(可选,默认已自动生成) sudo vim /etc/gitlab/gitlab.rb # 修改 `external_url` 为你的实际地址,例如: # external_url 'http://your-server-ip-or-domain' # 应用配置 sudo gitlab-ctl reconfigure 4. 防火墙设置 # 开放HTTP/HTTPS端口 sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload 5. 访问GitLab 浏览器访问 http://your-server-ip-or-domain首次登录需设置管理员密码(默认用户 root)。
方案二:使用 Gitea(轻量级替代) 1. 安装依赖 sudo dnf install -y git mysql postgresql redis 2. 下载并安装Gitea # 下载最新版Gitea(替换为最新版本号) wget -O /tmp/gitea dl.gitea.io/gitea/1.20.0/gitea-1.20.0-linux-amd64 sudo mv /tmp/gitea /usr/local/bin/gitea sudo chmod +x /usr/local/bin/gitea # 创建系统用户 sudo useradd -m -d /var/lib/gitea -s /bin/bash gitea 3. 配置Systemd服务 sudo vim /etc/systemd/system/gitea.service

添加以下内容:

[Unit] Description=Gitea After=network.target [Service] User=gitea Group=gitea WorkingDirectory=/var/lib/gitea ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini Restart=always [Install] WantedBy=multi-user.target 4. 初始化配置 # 创建配置目录 sudo mkdir -p /etc/gitea sudo chown gitea:gitea /etc/gitea # 启动服务 sudo systemctl daemon-reload sudo systemctl enable --now gitea 5. 访问Gitea 浏览器访问 http://your-server-ip:3000首次访问会进入安装向导,按提示配置数据库(推荐SQLite或MySQL)和管理员账户。
常见问题解决

端口冲突

修改GitLab/Gitea的默认端口(如8080)并更新防火墙规则。

数据库配置错误

确保PostgreSQL/MySQL服务已启动,并正确配置用户名和权限。

SELinux限制

临时禁用:sudo setenforce 0永久禁用:修改 /etc/selinux/config 中 SELINUX=disabled

GitLab启动失败

查看日志:sudo gitlab-ctl tail
备份与维护

GitLab备份

sudo gitlab-rake gitlab:backup:create

Gitea备份 直接备份 /var/lib/gitea 目录。

更新版本

# GitLab sudo dnf update gitlab-ce # Gitea sudo systemctl stop gitea sudo wget -O /usr/local/bin/gitea dl.gitea.io/gitea/<new-version>/gitea-<version>-linux-amd64 sudo systemctl start gitea
总结 GitLab:功能全面,适合企业级使用,但资源占用较高。Gitea:轻量快速,适合个人或小团队。

根据需求选择方案,并确保服务器资源(CPU、内存、存储)充足。

标签:

OpenEuler学习笔记(三十五):搭建代码托管服务器由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“OpenEuler学习笔记(三十五):搭建代码托管服务器