Dokcer部署Drone2

Dokcer部署Drone2

这一篇延续上一篇的问题,这一篇解决仓库初始化失败(500)的问题

一、问题原因

问题在于 drone 创建 webhooks 时失败,Github 不允许创建本地 localhost 类型的 webhooks,因为这样执行时是在本地,没办法定位到具体的用户主机。可以使用 ngrok 这样的工具把本地服务绑定到公网。

二、解决问题

1.安装ngrok

安装ngrok的时候,mac用户默认下载的位置和终端的位置不一样,所以我们统一安装到 /usr/local/bin 目录

具体步骤是:

步骤一:解压缩文件后复制ngrok

步骤二:前往文件夹

步骤三:复制ngrok,双击执行

进程完成

2.连接服务

执行ngrok的密钥,连接服务

ngrok config add-authtoken 2HW491ApRpQILMM3kwW_4T7x8zVrAXpqUEjdSGU4y

当出现下面的情况,就说明安装成功了,就可以使用命令了

如果提示没有验证邮箱,就先去验证邮箱,要不然服务会中断

3.开启服务端口

ngrok http 80

4.修改Drone配置(github)

#Homepage URL
https://8313-183-202-88-243.ap.ngrok.io

5.修改docker-compose.yml 和 .env 文件

vim docker-compose.yml  //配置文件
vim .env
//docker-compose.yml
version: '3.7'

services:

  drone-server:
    image: drone/drone:2.3.1
    ports:
      - 80:80
    volumes:
      - drone-data:/data:rw
      - ./ssl:/etc/certs
    restart: always
    environment:
      - DRONE_SERVER_HOST=${DRONE_SERVER_HOST:-https://drone.yeasy.com}
      - DRONE_SERVER_PROTO=${DRONE_SERVER_PROTO:-https}
      - DRONE_RPC_SECRET=${DRONE_RPC_SECRET:-secret}
      - DRONE_GITHUB_SERVER=https://github.com
      - DRONE_GITHUB_CLIENT_ID=${DRONE_GITHUB_CLIENT_ID}
      - DRONE_GITHUB_CLIENT_SECRET=${DRONE_GITHUB_CLIENT_SECRET}

  drone-runner:
    image: drone/drone-runner-docker:1
    restart: always
    depends_on:
      - drone-server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:rw
    environment:
      - DRONE_RPC_PROTO=http
      - DRONE_RPC_HOST=drone-server
      - DRONE_RPC_SECRET=${DRONE_RPC_SECRET:-secret}
      - DRONE_RUNNER_NAME=${HOSTNAME:-demo}
      - DRONE_RUNNER_CAPACITY=2
    dns: 114.114.114.114

volumes:
  drone-data:
//.env
# 必填 服务器地址,例如 drone.domain.com
DRONE_SERVER_HOST=8313-183-202-88-243.ap.ngrok.io
DRONE_SERVER_PROTO=https
DRONE_RPC_SECRET=24c08d3d73e59c5d9dd5e26e3256c1f9
HOSTNAME=demo
# 必填 在 GitHub 应用页面查看
DRONE_GITHUB_CLIENT_ID=
# 必填 在 GitHub 应用页面查看
DRONE_GITHUB_CLIENT_SECRET=

5.重启Drone

docker-compose up -d

这样我们就解决了500的问题,github上的Webhooks就启动了

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2022-2023 alan_mf
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信