[git工作流]gitea ubuntu安装部署

下载安装

wget -O gitea https://dl.gitea.com/gitea/1.22.6/gitea-1.22.6-linux-amd64  #下载gitea  golang 预编译版本
#下载检验文件并验证
wget  https://dl.gitea.com/gitea/1.22.6/gitea-1.22.6-linux-amd64.acs 
gpg --sign-key CC64B1DB67ABBEECAB24B6455FC346329753F4B0
gpg --keyserver keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2 
gpg --verify gitea-1.22.6-linux-amd64.asc gitea  #输出Good signature from "Teabot <teabot@gitea.io>“ 即可


#部署

adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git  # ubuntu添加用户
创建工作路径

mkdir -p /opt/gitea/{custom,data,log}
chown -R git:git /opt/gitea/
chmod -R 750 /opt/gitea/
mkdir /etc/gitea
chown root:git /etc/gitea
chmod 770 /etc/gitea
#制作为系统服务
wget https://github.com/go-gitea/gitea/blob/release/v1.21/contrib/systemd/gitea.service
vim gitea.service #编辑你自己的安装路径以及运行账号 
cp gitea.service /etc/systemd/system/
systemctl enable gitea
systemctl restart gitea #启动服务

然后会进入安装状态,会有一个安装页面在localhost:3000端口上,让你配置数据库和管理账号之类的。大致与wordpress类似。设置好后,点击安装,提示安装成功即可访问了。

安装好后默认是http模式,此模式http协议的git clone会导致信息泄露。故建议增加https支持。此处以免费为例。

#添加https支持
systemctl stop gitea

certbot run -D 【域名】 #申请免费证书,如果你有别的占用80端口的服务,需要先停掉。

#修改或添加如下内容到此文件  /etc/gitea/app.ini
sed -i ”$a\
[server]
SSH_DOMAIN = 【域名】
DOMAIN = 【域名】
HTTP_PORT = 3000
ROOT_URL = https://【域名】:3000/
APP_DATA_PATH = /opt/gitea/data
DISABLE_SSH = false
SSH_PORT = 22
LFS_START_SERVER = true
OFFLINE_MODE = true
PROTOCOL = https
ROOT_URL = https://【域名】:3000/
CERT_FILE = /etc/letsencrypt/live/【域名】/cert.pem
KEY_FILE = /etc/letsencrypt/live/【域名】/privkey.pem #privkey 单独设置权限更安全
“ /etc/gitea/app.ini

chown -R git:root  /etc/letsencrypt/live/*
chown -R git:root  /etc/letsencrypt/archive/*
chmod -R a+r /etc/letsencrypt/live/*
chmod -R a+r /etc/letsencrypt/archive/*
# 这里证书文件目录*赋予权限不太好的化,也可以【域名】代替*

systemctl restart gitea
crontab -e  #编辑定时任务 certbot 自动renew

自此git 服务器部署完成,可以使用安装状态自己设定的管理员账号进行登录并设置使用了,后续devops和webhook等其他功能待续……