gitea环境搭建教程

发布时间:2026/10/28 10:28:52
gitea环境搭建教程 gitea介绍Gitea 是一个开源的轻量级全功能 Git 代码托管平台采用 Go 语言编写遵循 MIT 许可证。提供类似 GitHub 或 GitLab 的一站式协作与 DevOps 体验。Gitea 在保留核心协作与 Actions 功能的同时资源占用仅为其数十分之一适合个人、敏捷小团队或私有硬件设备。Gitea 具备类似的交互体验与 Actions 语法生态但支持完全私网部署、数据自主可控无需担心外部网络连通性或私密源码外泄。ubuntu环境搭建准备需要的一些关键组件程序sudoaptupdatesudoaptinstall-ygitcurlwgetca-certificates sqlite3curl-fsSLhttps://deb.nodesource.com/setup_20.x|sudo-Ebash-sudoaptinstall-ynodejssudoaptinstall-ybuild-essential cmake pkg-configsudoaptinstall-ytargzipbzip2xz-utilszipunzipdpkg-devsudoaptinstall-ynginx certbot python3-certbot-nginxsudoaptinstall-ygit-lfsgitlfsinstall下载最新的gitea和 act runner配置gitea自启动服务sudoadduser--system--shell/bin/bash--group--disabled-password--home/home/gitgitsudomkdir-p/var/lib/gitea/{custom,data,log}sudochown-Rgit:git /var/lib/gitea/sudochmod-R750/var/lib/gitea/sudomkdir-p/etc/giteasudochown-Rroot:git /etc/giteasudochmod-R770/etc/giteasudocp-fgitea-1.27.3-linux-amd64 /usr/local/bin/giteasudochmodx /usr/local/bin/gitea新增配置文件 /etc/systemd/system/gitea.service[Unit]DescriptionGitea(Git with a cup of tea)Afternetwork.target[Service]RestartSec2sTypesimpleUsergitGroupgitWorkingDirectory/var/lib/gitea/ExecStart/usr/local/bin/gitea web--config/etc/gitea/app.iniRestartalwaysEnvironmentUSERgitHOME/home/gitGITEA_WORK_DIR/var/lib/gitea[Install]WantedBymulti-user.target配置自启动服务sudosystemctl daemon-reloadsudosystemctlenable--nowgitea#确认服务是否启动成功sudosystemctl status giteasudosystemctl restart gitea#重启服务打开http://你的Ubuntu服务器IP:3000进行初始化配置。配置Action功能开关打开配置文件/etc/gitea/app.ini后面新增[actions]ENABLEDtrue配置act_runner自启动服务sudocp-fgitea-runner-5.2.2-linux-amd64 /usr/local/bin/act_runnersudochmodx /usr/local/bin/act_runner# 创建专属运行用户与工作目录sudouseradd-r-m-d/var/lib/act_runner-s/bin/bash act_runnersudomkdir-p/etc/act_runner获取注册token登陆Gitea Web端获取管理后台的Action-Runners的右上角的Ceate new Runner中的弹出的Registration Token使用如下的配置命令注册runner的命令# 生成默认配置act_runner generate-config|sudotee/etc/act_runner/config.yaml/dev/null#act_runner config generate | sudo tee /etc/act_runner/config.yaml /dev/null#先修改为host:host的标签,sudo vim /etc/act_runner/config.yaml# ... 其他默认配置保持不变 ...labels: -host:hostsudochown-Ract_runner:act_runner /var/lib/act_runner /etc/act_runnersudochmod755/var/lib/act_runnercd/var/lib/act_runnersudo-uact_runner act_runner register\--config/etc/act_runner/config.yaml\--instancehttp://本机ip:3000\--token前面粘贴的Token信息\--namelocal-builder\--labelslocal-builder\--no-interactivesudochown-Ract_runner:act_runner /var/lib/act_runner托管act_runner为系统服务#创建 /etc/systemd/system/act_runner.service[Unit]DescriptionGitea Act RunnerAfternetwork.target gitea.service[Service]TypesimpleUseract_runnerGroupact_runnerWorkingDirectory/var/lib/act_runnerExecStart/usr/local/bin/act_runner daemon--config/etc/act_runner/config.yamlRestartalwaysRestartSec5[Install]WantedBymulti-user.target配置系统服务自启动sudosystemctl daemon-reloadsudosystemctlenable--nowact_runnersudosystemctl status act_runnersudosystemctl restart act_runner此时刷新 Gitea 管理界面的 Runners 页面,会出现对应的Idle的状态信息如下新增一个本地仓库代码在管理web界面上新增New Repository仓库比如我新增如下文件新增一个本地C文件和Makefile如下#include stdio.hintmain(){printf(Hello from Gitea CI/CD Automated Build!\n);printf(ok!\r\n);return0;}#Makefile 文件CC ?gcc CFLAGS ?-Wall-O2all: hello_app hello_app: main.c$(CC)$(CFLAGS)-ohello_app main.c clean:rm-fhello_appCI/CD打包配置文件build.yaml 如下所示name:Manual Build Pipelineon:push:# 补充 push 事件推送即可自动跑一次完成初始化branches:[main,master]workflow_dispatch:inputs:build_env:description:编译模式required:truedefault:Releasetype:choiceoptions:-Release-Debugjobs:build_and_package:runs-on:hoststeps:-name:检出源码uses:actions/checkoutv4-name:编译并生成自定义日志run:|mkdir -p output/bin logs LOG_FILElogs/build_info.log# 写入自定义打包元数据{echo BUILD LOG echo Build Timestamp:$(date %Y-%m-%d %H:%M:%S)echo Operator:${{github.actor}}echo Target Commit:${{github.sha}}echo Build Profile:${{inputs.build_env}}echo Compiler Info:$(gcc--version|head-n 1) echo }|tee $LOG_FILE# 编译逻辑make clean if[${{inputs.build_env}} Debug]; then make CFLAGS-Wall-g-O0 21|tee-a $LOG_FILE else make CFLAGS-Wall-O2 21|tee-a $LOG_FILE fi# 收集程序与日志并打包cp hello_app output/bin/ cp $LOG_FILE output/ tar-czvf app_package_${{inputs.build_env}}.tar.gz-C output . mv app_package_${{inputs.build_env}}.tar.gz output/-name:上传构建产物uses:actions/upload-artifactv4with:name:release-packagepath:output/*.tar.gz在web端可以在Action那一栏中看到Run Workflow配置项如下可以选择手动Debug或者Release编译模式并下载编译成果物包参考Gitea docs

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询