3.7 KiB
3.7 KiB
本文作者:丁辉
Helm部署Gitea
介绍
Gitea是一个轻量级的DevOps平台软件,支持Git托管、代码审查、团队协作、软件包注册和CI/CD等功能。
开始部署
-
添加 Helm 仓库
helm repo add gitea https://dl.gitea.io/charts helm repo update -
创建命名空间
kubectl create namespace gitea -
生成secret
kubectl create secret generic gitea-secret \ --from-literal=username=设定仓库账号 \ --from-literal=password=设定仓库密码 \ -n gitea -
创建Nginx证书secret
cert为.pem和.crt文件都可以
kubectl create secret tls gitea-tls --key nginx.key --cert nginx.pem -n gitea -
编写模版文件
vi gitea-values.yaml内容如下
# 开启 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 -
部署
helm install gitea --namespace gitea -f gitea-values.yaml gitea/gitea
卸载
-
卸载 gitea
helm uninstall gitea -n gitea -
删除 secret
kubectl delete secret gitea-tls gitea-secret -n gitea -
删除命名空间
kubectl delete namespace gitea
批量清理用户和仓库
-
下载脚本
-
普通删除
wget https://gitee.com/offends/Kubernetes/raw/main/File/Python/clean-gitea-user.py -
并发删除(具有速度优势但需要根据自己服务器资源调整
max_workers参数)wget https://gitee.com/offends/Kubernetes/raw/main/File/Python/clean-gitea-user-concurrency.py
-
-
指定参数并运行
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:指定不想删除仓库的用户