banner
NEWS LETTER

Helm部署Drone

Scroll down

本文作者:丁辉

Helm部署Drone

官方文档

官方中文文档

介绍

Drone 是一个开源的持续集成和持续部署(CI/CD)平台,广泛用于自动化代码构建、测试和发布流程

开始部署

  1. 添加 Drone Helm Chart 存储库

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

    1
    kubectl create namespace drone
  3. 部署 Postgres

    1
    kubectl apply -f https://gitee.com/offends/Kubernetes/raw/main/File/Yaml/drone-postgres.yaml
  4. 生成密钥

    1
    openssl rand -hex 16
  5. 生成 Secret

    对接 Gitea 参数替换如下:

    DRONE_GITEA_CLIENT_ID

    DRONE_GITEA_CLIENT_SECRET

    1
    2
    3
    4
    5
    6
    7
    8
    kubectl create secret generic drone-secret \
    --from-literal=DRONE_RPC_SECRET=填入密钥 \
    --from-literal=DRONE_GITHUB_CLIENT_ID=填入Github-ID \
    --from-literal=DRONE_GITHUB_CLIENT_SECRET=填入Github-SECRET \
    --from-literal=DRONE_GIT_USERNAME=配置Github用户名 \
    --from-literal=DRONE_GIT_PASSWORD=配置Github密码 \
    --from-literal=DRONE_USER_CREATE=username:填入管理员用户名,admin:true \
    -n drone

    参数解释

    参数 描述
    DRONE_RPC_SECRET= 将名为DRONE_RPC_SECRET的密钥添加到Secret中,用于Drone CI/CD工具的RPC通信和验证。
    DRONE_GITHUB_CLIENT_ID= 将GitHub OAuth应用程序的客户端ID添加到Secret中。
    DRONE_GITHUB_CLIENT_SECRET= 将GitHub OAuth应用程序的客户端密钥添加到Secret中。
    DRONE_GIT_USERNAME= 将GitHub用户名添加到Secret中,用于访问GitHub仓库。
    DRONE_GIT_PASSWORD= 将GitHub密码添加到Secret中,用于访问GitHub仓库。
    DRONE_USER_CREATE=username: 指定在Drone启动时创建的用户信息,包括用户名和角色(管理员)。
  6. 编写模版文件

    对接 Gitea 参数替换如下:

    DRONE_GITEA_SERVER

    1
    vi drone-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
    # 开启 ingress 对外访问
    ingress:
    enabled: true
    className: "" # 指定 ingress 控制器, 不指定则需要集群内存在默认的 ingress 控制器
    hosts:
    - host: # 域名
    paths:
    - path: /
    pathType: Prefix
    tls:
    - secretName: drone-tls
    hosts:
    - # 域名

    env:
    DRONE_GITHUB_SERVER: https://github.com #仓库地址
    DRONE_SERVER_HOST: #域名
    DRONE_SERVER_PROTO: https
    DRONE_DATABASE_DRIVER: postgres
    DRONE_DATABASE_DATASOURCE: postgres://postgres:postgres@drone-db:5432/drone?sslmode=disable
    extraSecretNamesForEnvFrom:
    - drone-secret
    persistentVolume:
    enabled: false

    其他参数

    1
    2
    # oauth会验证gitlab证书,如果验证不过,需要打开
    DRONE_GITLAB_SKIP_VERIFY: true
  7. 安装

    1
    helm install drone drone/drone -f drone-values.yaml -n drone

卸载

  1. 卸载 drone

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

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

    1
    kubectl delete namespace drone

I'm so cute. Please give me money.

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