banner
欢迎观看

Helm部署Gitea

Scroll down

本文作者:丁辉

Helm部署Gitea

介绍

Gitea是一个轻量级的DevOps平台软件,支持Git托管、代码审查、团队协作、软件包注册和CI/CD等功能

开始部署

Chart文件下载 官方仓库

  1. 添加 Helm 仓库

    1
    2
    helm repo add gitea https://dl.gitea.io/charts
    helm repo update
  2. 创建命名空间

    1
    kubectl create namespace gitea
  3. 生成secret

    1
    2
    3
    4
    kubectl create secret generic gitea-secret \
    --from-literal=username=设定仓库账号 \
    --from-literal=password=设定仓库密码 \
    -n gitea
  4. 创建Nginx证书secret

    cert为.pem和.crt文件都可以

    1
    kubectl create secret tls gitea-tls --key nginx.key --cert nginx.pem -n gitea
  5. 编写模版文件

    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
  6. 部署

    1
    helm install gitea --namespace gitea -f gitea-values.yaml gitea/gitea

卸载

  1. 卸载 gitea

    1
    helm uninstall gitea -n gitea
  2. 删除 secret

    1
    kubectl delete secret gitea-tls gitea-secret -n gitea
  3. 删除命名空间

    1
    kubectl delete namespace gitea

批量清理用户和仓库

  1. 下载脚本

    • 普通删除

      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
  2. 指定参数并运行

    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:指定不想删除仓库的用户

要是这篇文章为您解了惑、带来了帮助,不妨用小小的打赏来支持下我的创作吧,您的鼓励就是我持续分享的最大动力哦,感谢您啦!

其他文章
cover
Helm部署Drone
  • 70/01/01
  • 00:00
  • Kubernetes-Helm
cover
Helm部署Haproxy
  • 70/01/01
  • 00:00
  • Kubernetes-Helm
目录导航 置顶
  1. 1. Helm部署Gitea
    1. 1.1. 介绍
    2. 1.2. 开始部署
    3. 1.3. 卸载
    4. 1.4. 批量清理用户和仓库
请输入关键词进行搜索