在Centos 上搭建代码管理平台Gitea

在Centos 上搭建代码管理平台Gitea

一, 官网概述

Gitea 是一个自己托管的Git服务程序。他和GitHub, Bitbucket or Gitlab等比较类似。他是从 Gogs 发展而来,不过我们已经Fork并且命名为Gitea。

Gitea的首要目标是创建一个极易安装,运行非常快速,安装和使用体验良好的自建 Git 服务。我们采用Go作为后端语言,这使我们只要生成一个可执行程序即可。并且他还支持跨平台,支持 Linux, macOS 和 Windows 以及各种架构,除了x86,amd64,还包括 ARM 和 PowerPC。

二, 环境准备
  • mysql (>=5.7)
  • Git (>=2.0)
  • Centos 操作系统
三, 开始安装
  1. 配置mysql数据库(需要设置mysql在安装的服务器上可以访问)
    • 首先创建一个mysql 的名为(giteadb)的数据库.可用图形化工具,也可使用命令:

      CREATE DATABASE giteadb CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';
      
    • 创建一个用户用来操作giteadb数据库.

    • 测试该用户是否可以操作该数据库.

  2. 下载Gitea二进制安装包
    • 下载页面选择对应平台的二进制文件

    • 使用wget下载

      wget -O gitea https://dl.gitea.com/gitea/1.20.4/gitea-1.20.4-linux-amd64
      
    • 下载完成后,把gitea移到/usr/local/bin目录,并改为可执行。

      mv gitea /usr/local/bin
      chmod +x gitea
      
    • 为了安全起见,我们还需要创建一个系统用户, 推荐使用(git)

      groupadd --system git
      adduser \
         --system \
         --shell /bin/bash \
         --comment 'Git Version Control' \
         --gid git \
         --home-dir /home/git \
         --create-home \
         git
      
    • 下面建几个Gitea的数据目录,并授权

      mkdir -p /var/lib/gitea/{custom,data,log} # 是存放仓库相关文件的目录
      chown -R git:git /var/lib/gitea/ 
      chmod -R 750 /var/lib/gitea/
      mkdir /etc/gitea # 是存放配置文件app.ini的目录
      chown root:git /etc/gitea
      chmod 770 /etc/gitea
      
    • 配置 Gitea 工作路径

      export GITEA_WORK_DIR=/var/lib/gitea/
      
    • Gitea在Linux上需要以Service的方式运行, 把以下配置保存到文件gitea.service

      [Unit]
      
      Description=Gitea (Git with a cup of tea)
      
      After=syslog.target
      
      After=network.target
      
      [Service]
      
      RestartSec=2s
      
      Type=simple
      
      User=git
      
      Group=git
      
      WorkingDirectory=/var/lib/gitea/
      
      ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
      
      Restart=always
      
      Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
      
      [Install]
      
      WantedBy=multi-user.target
      
    • 修改gitea.service为可执行,并复制到/etc/systemd/system目录

      chmod +x gitea.service
      mv gitea.service /etc/systemd/system
      systemctl enable gitea.service # 设置为开机启动
      
      systemctl start gitea.service # 启动gitea
      
    • 启动后浏览器访问http://ip:3000 (记得防火墙放行端口), 就可以看到如下页面

      在Centos 上搭建代码管理平台Gitea_第1张图片

    • 后续的按照提示进行填写就可以了.

    • 最后就可以看到首页

      在Centos 上搭建代码管理平台Gitea_第2张图片

    五, 提示, 相关配置
    • 关闭注册功能, 关闭OpenId 登录方式

      vim /etc/gitea/app.ini #打开gitea的配置文件
      

      关闭下图所示的配置
      在Centos 上搭建代码管理平台Gitea_第3张图片

    六, 总结

    在Centos 上搭建代码管理平台Gitea_第4张图片

    看到监控面板, 它的内存占用相比于gitlab 是非常小的.

    最后留个坑

    下一期使用gitea 的action 实现前后端项目CI/CD功能.如下图所示:
    在Centos 上搭建代码管理平台Gitea_第5张图片

你可能感兴趣的:(centos,gitea,linux)