本文作者:丁辉
Helm部署Gitea
介绍
Gitea是一个轻量级的DevOps平台软件,支持Git托管、代码审查、团队协作、软件包注册和CI/CD等功能。
开始部署
添加 Helm 仓库
1
2helm repo add gitea https://dl.gitea.io/charts
helm repo update创建命名空间
1
kubectl create namespace gitea
生成secret
1
2
3
4kubectl create secret generic gitea-secret \
--from-literal=username=设定仓库账号 \
--from-literal=password=设定仓库密码 \
-n gitea创建Nginx证书secret
cert为.pem和.crt文件都可以
1
kubectl create secret tls gitea-tls --key nginx.key --cert nginx.pem -n gitea
编写模版文件
1
vi gitea-values.yaml
内容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59# 开启 ingress 对外访问
ingress:
enabled: true
className: # 指定 ingress 控制器, 不指定则需要集群内存在默认的 ingress 控制器
hosts:
- host: # 域名
paths:
- path: /
pathType: Prefix
tls:
- hosts:
- # 域名
secretName: gitea-tls
# 配置持久化存储
global:
storageClass: # 指定存储卷, 不指定则需要集群内存在默认的存储卷
# 配置 ssh 模式下对外访问端口
service:
ssh:
type: NodePort
port: 22
nodePort: 30000
# 配置管理员账号和密码
gitea:
admin:
existingSecret: gitea-secret
email: "gitea@gitea.com" # 配置仓库默认用户邮箱
config:
APP_NAME: "Gitea" # 配置 Gitea 默认主页面展示名称
server:
SSH_DOMAIN: "gitea.com"
DOMAIN: "gitea.com"
SSH_LISTEN_PORT: "22"
SSH_PORT: "30000"
# https://docs.gitea.com/zh-cn/administration/config-cheat-sheet#service-service
service: # 别问我为什么要加上这些
# 禁用注册,启用后只能用管理员添加用户
DISABLE_REGISTRATION: false
# 启用此项以对注册使用验证码验证
ENABLE_CAPTCHA: true
# 启用此项以要求登录使用验证码验证,您还必须启用 ENABLE_CAPTCHA
REQUIRE_CAPTCHA_FOR_LOGIN: true
# 关闭 redis 集群
redis-cluster:
enabled: false
# 关闭 postgresql 集群
postgresql-ha:
enabled: false
# 启用 postgresql
postgresql:
enabled: true部署
1
helm install gitea --namespace gitea -f gitea-values.yaml gitea/gitea
卸载
卸载 gitea
1
helm uninstall gitea -n gitea
删除 secret
1
kubectl delete secret gitea-tls gitea-secret -n gitea
删除命名空间
1
kubectl delete namespace gitea
批量清理用户和仓库
下载脚本
普通删除
1
wget https://gitee.com/offends/Kubernetes/raw/main/File/Python/clean-gitea-user.py
并发删除(具有速度优势但需要根据自己服务器资源调整
max_workers参数)1
wget https://gitee.com/offends/Kubernetes/raw/main/File/Python/clean-gitea-user-concurrency.py
指定参数并运行
1
python clean-gitea-user.py --keep-users user1 user2 --gitea-url http://gitea.example.com --api-token your_token
参数解释
--gitea-url:指定 Gitea 访问地址--api-token:指定应用 Access Token--keep-users:指定不想删除仓库的用户
要是这篇文章为您解了惑、带来了帮助,不妨用小小的打赏来支持下我的创作吧,您的鼓励就是我持续分享的最大动力哦,感谢您啦!
- 本文链接: https://blog.offends.cn/Kubernetes/Helm/Helm部署Gitea.html
- 版权声明: 本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。