zoukankan      html  css  js  c++  java
  • Gitea服务搭建指南

    为什么选择Gitea

    常用的私有Git服务器包含GitLab、Gitea、Gogs等。相对来说,GitLab功能最为全面,内置CI,但对内存和CPU的要求比较高,而Gogs和Gitea均比较轻量化。根据实际需求与条件最终选择了Gitea,Gitea是Gogs的社区版本,足够轻量化,并且包含LFS的支持。

    环境准备

    安装数据库:采用SQLite数据库

    • Windows安装:

      下载网址:https://sqlite.org/download.html,如下图下载预编译版本中的sqlite-dll-win64-x64-3320300.zip版本安装即可。

      img

      安装说明:

      安装时在安装目录(如C:Program FilesSQLite3)解压下载下来的文件,同时添加该路径到环境变量Path中(添加到System的Path)。

      到此SQLite已经安装完成,在命令提示符内输入sqlite3根据是否出现版本号等信息可以验证是否成功添加到环境变量。

      对于SQLite的可视化管理可以使用SQliteStudio即可。

    • Linux安装:

      Linux下安装SQLite,可以从下载页下载源代码自行编译,也可以直接下载编译好的二进制包。还可以更简单的从包源安装:

      # apt-get install sqlite3
      

    安装Git

    • Windows安装:

      Git的taobao镜像下载(原网站国内访问较慢):https://npm.taobao.org/mirrors/git-for-windows/

      下载完成后,是个可执行的安装文件。运行安装文件,即可完成Git客户端的安装。

      安装完成后,也需要在环境变量中设置Path,加进去Git命令的运行目录。Git运行目录是Git安装目录下的bin目录。

    • Linux安装:

      大多数情况下,Linux下会自带Git客户端,可以检查一下:

      # git --version
      

      如果已安装,会返回版本信息。

      如果没有安装,就用包管理装一个

      # apt-get install git
      

    安装Gitea

    • Windows安装

      下载for Windows的最新版1.11.5:https://gitea.io/zh-cn/

      把下载下来的文件名改为gitea.exe,然后放到一个目录,比如D:gitea目录下,安装就完成了。

      Gitea在Windows上可以直接运行,也可以加为Service。

      > d:giteagitea.exe web
      cmd/web.go:107:runWeb() [I] Starting Gitea on PID: 5840
      

      加到Service里运行就不用每次手动打开了,输入命令:

      sc create gitea start= auto binPath= ""d:giteagitea.exe" web --config "d:giteacustomconfapp.ini""
      

      点确定,就加到Windows服务里了。

    • Linux安装

      下载for Linux的最新版1.12.1:

      # wget -O gitea https://dl.gitea.io/gitea/1.12.1/gitea-1.12.1-linux-amd64
      

      下载完成后,把gitea移到/usr/local/bin目录,并改为可执行。

      # mv gitea /usr/local/bin
      # chmod +x gitea
      

      Gitea就安装完成了。

      下面建几个Gitea的数据目录:

      # mkdir /var/lib/gitea
      # mkdir /var/lib/gitea/{custom,data,log}
      # mkdir /etc/gitea
      

      其中:

      /var/lib/gitea是存放仓库相关文件的目录

      /etc/gitea是存放配置文件app.ini的目录

      为了服务器的安全,我们还需要创建一个系统用户git

      # adduser git --system --shell /bin/bash --group --disabled-password --home /home/git
      

      把上面建立的几个目录给到git用户:

      # chown -R git:git /var/lib/gitea
      # chown git:git /var/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
      

      最后一步,启动Service:

      # systemctl start gitea.service
      

      Linux下的安装配置就完成了。

    设置Gitea

    运行Gitea后,打开http://localhost:3000即可以进入软件配置界面如下图:

    img

    • 数据库设置

      先选择数据库类型。如果是用原有的数据库,相关的参数需要填进去。我们安装了SQLite3,所以选择这个。下面会有一个数据库路径,可以使用默认的。在Windows下,Gitea会自己在运行目录下建立目录和数据文件;Linux下是刚刚预先建立好的。

      如果修改目录的话,Windows下不存在问题,但Linux下需要注意目录的权限。这个权限会跟着下面「以用户名运行」参数来设置。

    • 一般设置

      站点名称:页面首页显示的名称。

      仓库根目录:用来存放源代码二进制数据,有默认位置,可以修改。

      LFS根目录:用来存放大文件的目录,用于LFS服务。

    • 禁止用户自助注册

      如果可以开启就不能自己注册账号了,需要管理员统一管理。

    • 管理员帐号设置

      第一个注册的帐号,会自动成为管理员。在上面禁止注册后,需要这个管理员来建立用户帐号。

    • 版本升级

      如果需要升级新版本,先下载新版本的Gitea,然后停掉服务,覆盖旧的Gitea程序,再启动服务就可以了。

    其他更多设置查看Gitea的文档即可。

    参考文献:

    [1] https://mp.weixin.qq.com/s/QsFhT0G7ny9K8F8mnCUj3A

    [2] https://www.jianshu.com/p/acd5fc63895d

  • 相关阅读:
    许多其他C++的class样本
    cocos2d-x 3.2 它 2048 —— 第三
    hdu 4035 可能性DP 成都网络游戏
    OpenWrt 主的发展版本号trunk MT7620N 无线驱动程序bug
    [leetcode]Permutation Sequence
    Java Swing编程接口(30)---列表框:JList
    [创新工场]2014创新工场校园招聘回文字符串维修
    FFmpeg来源简单分析:结构会员管理系统-AVClass
    [Angular 2] Component relative paths
    [TypeScript] Reflection and Decorator Metadata
  • 原文地址:https://www.cnblogs.com/sixsen/p/13218347.html
Copyright © 2011-2022 走看看