欢迎光临
我们一直在努力

Gitea:私有部署Git托管服务(私有Git仓)

目录

git和Gitea简介

服务端部署

部署环境概览

创建操作系统用户

下载并解压

修改初始配置


git和Gitea简介

git 是一个开源的分布式版本控制系统,用途类使用SVN的版本控制和多人协同,但不同于SVN的是,git在设计之初即是分布式。

基于git版本控制技术,出现了github、gitlab等托管平台,不过这些托管平台是对公网服务。而Gitea 是一个可自己私有部署,自行托管的Git服务程序。他和GitHub, Bitbucket or Gitlab等比较类似。他是从 Gogs 发展而来。

本文通过Gitea在私有服务器环境搭建git的自有托管平台(私有化部署)

服务端部署

  1. 部署环境概览

Linux服务器

IP:20.200.54.51

已经安装git 1.8.3.1软件。

(若无则通过yum install git 安装)

gitea版本

gitea-1.16.6-linux-amd64

https://dl.gitea.io/gitea/1.16.6/gitea-1.16.6-linux-amd64

gitea运行用户

操作系统用户:gitea

为了规范和权限隔离,建立专门用户

gitea数据库

“postgres://gitea@20.200.54.51/giteadb”

数据库创建见后文

gitea仓存放目录

/app/gitea/data/gitea-repositories

服务端所有仓存放的基目录

gitea Web界面

http://20.200.54.51:3000

内部使用,不启用HTTPS

准备数据库(PostgreSQL)

Gitea需要使用数据库用于保存用户、权限、工程、评论、通知、任务等信息。

可以选择MySQL或PostgreSQL 其一即可。本节以PostgreSQL 10.5为例。

1、安装PostgreSQL服务端软件(过程略)

2、通过psql客户端登录,创建gitea专用的数据库连接用户

CREATE ROLE gitea WITH LOGIN PASSWORD ‘gitea’;

3、通过psql客户端登录,创建database和schema

CREATE DATABASE giteadb WITH OWNER gitea ENCODING UTF8 LC_COLLATE ‘zh_CN.UTF-8’ LC_CTYPE ‘zh_CN.UTF-8’;

\c giteadb gitea; — 以gitea用户登录至giteadb数据库

CREATE SCHEMA giteadb;

alter role gitea set search_path=giteadb,public; — 设置search_path

4、根据实际情况修改pg_hba.conf,允许客户端访问PostgreSQL数据库

5、创建对象和数据初始化(无需执行,由gitea软件连上后自动完成初始化动作)。

准备数据库(MySQL)

Gitea需要使用数据库用于保存用户、权限、工程、评论、通知、任务等信息。

可以选择MySQL或PostgreSQL 其一即可。本节以MySQL 8.0为例。

1、安装MySQL软件(过程略)

2、通过mysql客户端登录,创建gitea专用的数据库连接用户

CREATE USER ‘gitea’@’%’ IDENTIFIED BY ‘gitea’;

3、通过mysql客户端登录,创建database(既schema)

CREATE DATABASE giteadb CHARACTER SET ‘utf8mb4’ COLLATE ‘utf8mb4_unicode_ci’;

4、赋予权限

GRANT ALL PRIVILEGES ON giteadb.* TO ‘gitea’@’%’;

FLUSH PRIVILEGES;

  1. 创建对象和数据初始化(无需执行,由gitea软件连上后自动完成初始化动作)。

​​​​​​​创建操作系统用户

在操作系统使用root用户执行以下命令,创建gitea运行专用用户如下

adduser –home /app/gitea gitea

​​​​​​​下载并解压

使用gitea用户登录,下载并运行

#若能访问公网,则可以直接下载

wget https://dl.gitea.io/gitea/1.16.6/gitea-1.16.6-linux-amd64

#解压(只有一个单文件)

xz -d gitea-1.16.6-linux-amd64.xz

chmod +x gitea-1.16.6-linux-amd64

​​​​​​​ 修改初始配置

通常有两种方式:

  • 提前准备好ini配置文件,可在启动时通过-c参数指定ini配置文件
  • 由gitea自动生成配置文件。(下文介绍此方式)
  1. 使用gitea用户登录,首次运行。

./gitea-1.16.6-linux-amd64

首次运行时,gitea会自动生产配置文件custom/conf/app.ini

  1. 通过浏览器首次访问:http://20.200.54.51:3000 因刚安装干净的,会自动出现初始配置界面如下。

通过在以上Web初始界面编辑的配置内容后,会自动完成对数据库对象初始化工作;自动写入到custom/conf/app.ini配置文件中(用户创建在数据库表中)。得到的配置文件custom/conf/app.ini内容如下:

APP_NAME = 自有Gitea托管平台

RUN_USER = gitea

RUN_MODE = prod

[security]

INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE2NDE3ODA2MDl9.xxBOCQegIwfFN_b1fJc4K9kR_HyolPqNo50rbEm9Wik

INSTALL_LOCK = true

SECRET_KEY = VtCdLtEnpt101aMZ1B24NdGq8KpijaG9pVfVCfugyYNcWuqSVjU3eRR0GJ3QlDWe

PASSWORD_HASH_ALGO = pbkdf2

[database]

DB_TYPE = postgres

HOST = 20.200.54.51:5432

NAME = giteadb

USER = gitea

PASSWD = gitea

SCHEMA = giteadb

SSL_MODE = disable

CHARSET = utf8

PATH = /app/gitea/data/gitea.db

LOG_SQL = false

[repository]

ROOT = /app/gitea/data/gitea-repositories

[server]

SSH_DOMAIN = 20.200.54.51

DOMAIN = 20.200.54.51

HTTP_PORT = 3000

ROOT_URL = http://20.200.54.51:3000/

DISABLE_SSH = false

SSH_PORT = 22

LFS_START_SERVER = true

LFS_CONTENT_PATH = /app/gitea/data/lfs

LFS_JWT_SECRET = u_pQCSJ763rPl3L3fvnXFhoddcEGIPNyDCmcNZTk7B4

OFFLINE_MODE = false

[mailer]

ENABLED = false

[service]

REGISTER_EMAIL_CONFIRM = false

ENABLE_NOTIFY_MAIL = false

DISABLE_REGISTRATION = true

ALLOW_ONLY_EXTERNAL_REGISTRATION = false

ENABLE_CAPTCHA = false

REQUIRE_SIGNIN_VIEW = false

DEFAULT_KEEP_EMAIL_PRIVATE = false

DEFAULT_ALLOW_CREATE_ORGANIZATION = true

DEFAULT_ENABLE_TIMETRACKING = true

NO_REPLY_ADDRESS = noreply.localhost

[picture]

DISABLE_GRAVATAR = false

ENABLE_FEDERATED_AVATAR = true

[openid]

ENABLE_OPENID_SIGNIN = true

ENABLE_OPENID_SIGNUP = false

[session]

PROVIDER = file

[log]

MODE = console

LEVEL = info

ROOT_PATH = /app/gitea/log

ROUTER = console

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:Gitea:私有部署Git托管服务(私有Git仓)
文章链接:https://www.jmwz.net/1424.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址