gogs仓库管理工具

Gogs 项目旨在构建一个简单、稳定且可扩展的自托管 Git 服务,且可以以最无痛的方式搭建。而 Go 则可以通过独立的二进制发行版实现,覆盖 Go 支持的所有平台,包括 Linux、macOS、Windows 和基于 ARM 的系统。

官网下载

sudo cd /opt
sudo wget https://github.com/gogs/gogs/releases/download/v0.14.3/gogs_v0.14.3_linux_amd64.zip
sudo unzip gogs_v0.14.3_linux_amd64.zip -d /usr/local/
`

创建git用户和组

sudo groupadd git
sudo useradd -m -g git -s /bin/bash git

创建gogs数据库以及对应的用户

sudo mysql -u root -p
CREATE DATABASE gogs;
# 将<YourPassword>替换为一个强密码。
CREATE USER 'gogs'@'localhost' IDENTIFIED BY '<YourPassword>';
GRANT ALL PRIVILEGES ON gogs.* TO 'gogs'@'localhost';
FLUSH PRIVILEGES;
EXIT;

启动gogs服务:

sudo /usr/local/gogs/gogs web

启动成功后,在浏览器访问:http://:3000,完成安装配置;

  • 数据库用户名、密码、数据库名用上一步创建好的mysql用户;
  • 代码仓库位置设置为:/home/git/gogs-repositories
  • gogs启动用户为:git
  • 配置成功后,注册一个用户,后续作为管理员去用;

登录gogs数据库,找到user表,然后把刚才注册的第一个用户设置为管理员

update user set is_admin = 1 where id = 1;

gogs配置文件,禁用注册,后续走web界面的添加用户;

sudo cat /usr/local/gogs/custom/conf/app.ini

# 内容如下:
BRAND_NAME = 指路为码的代码管理仓库
RUN_USER   = git
RUN_MODE   = prod

[database]
TYPE     = mysql
HOST     = 127.0.0.1:3306
NAME     = gogs
SCHEMA   = public
USER     = gogs
PASSWORD = 对应的数据库密码
SSL_MODE = disable
PATH     = /usr/local/gogs/data/gogs.db

[repository]
ROOT           = /home/git/gogs-repositories
DEFAULT_BRANCH = master

[server]
DOMAIN           = localhost
HTTP_PORT        = 3000
EXTERNAL_URL     = http://localhost:3000/
DISABLE_SSH      = false
SSH_PORT         = 22
START_SSH_SERVER = false
OFFLINE_MODE     = false

[email]
ENABLED = false

[auth]
REQUIRE_EMAIL_CONFIRMATION  = false
DISABLE_REGISTRATION        = true  # 禁用注册
ENABLE_REGISTRATION_CAPTCHA = true
REQUIRE_SIGNIN_VIEW         = false

[user]
ENABLE_EMAIL_NOTIFICATION = false

[picture]
DISABLE_GRAVATAR        = false
ENABLE_FEDERATED_AVATAR = false

[session]
PROVIDER = file

[log]
MODE      = file
LEVEL     = Info
ROOT_PATH = /usr/local/gogs/log

[security]
INSTALL_LOCK = true
SECRET_KEY   = 密钥

设置gogs目录权限

sudo cd /usr/local/gogs
sudo mkdir data
sudo chown -R git:git /usr/local/gogs

创建gogs日志目录

sudo mkdir /var/log/gogs
sudo chmod -R 777 /var/log/gogs

supervisor管理gogs

vi /etc/supervisor.d/gogs.ini

# 写入以下内容,保存退出
[program:gogs]
directory=/usr/local/gogs
command=/usr/local/gogs/gogs web
autostart=true
autorestart=true
startsecs=10
stdout_logfile=/var/log/gogs/stdout.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stderr_logfile=/var/log/gogs/stderr.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
user = git
environment = HOME="/home/git", USER="git"

将gogs纳入supervisorctl

sudo supervisorctl update
sudo supervisorctl start gogs
sudo supervisorctl status gogs

完毕~如有问题,请自行AI~

results matching ""

    No results matching ""