Drone CI 部署
作者:流火
- 2023-04-07 北京
本文字数:1557 字
阅读完需:约 5 分钟
1.设置 GITEA 授权 OAuth2
注意:重定向地址为 DRONE 地址 后面 /login 不能少 否则提示认证失败
2.docker-compose 文件
version: "3"
networks:
default:
external:
#使用 现有网络
name: sczz-bridge
services:
#drone-server:它是一个守护进程应用并且拥有Web管理界面。它通过Webhook对接Git Server。
#解析Git Repository根目录下的.drone.yml文件,并以轮询的形态查找需要执行的Pipelines,路由并管理Runners
drone-server-sczz:
# 构建所使用的镜像
image: drone/drone:2.9
container_name: drone-server-sczz
environment:
#drone
- TZ=Asia/Shanghai
# 创建管理员账户,这里对应为gitee的用户名
- DRONE_USER_CREATE=username:drone,admin:true
- DRONE_LOGS_TRACE=true
- DRONE_GITEA_SKIP_VERIFY=false
# gitea
- DRONE_GITEA_SERVER=http://192.168.45.2:3002
# Gitee OAuth2客户端ID
# - DRONE_GITEA_CLI(上面的Client ID值)
- DRONE_GITEA_CLIENT_ID=3859512a-f1c0-4f88-9b48-5d048bef0d10
# Gitee OAuth2客户端密钥(上面的Client Secret值)
- DRONE_GITEA_CLIENT_SECRET=76gdPunNGu3hEeOpYVsaeAd-GyZ0rgIvGzggLpuidIQ=
# 通信- drone的共享密钥
- DRONE_RPC_SECRET=183c3d6179cb3d5a5efdf89e37d1e9d4
# 数据库
- DRONE_DATABASE_DRIVER=mysql
- DRONE_DATABASE_DATASOURCE=drone:drone@tcp(mysql-sczz:3306)/drone?parseTime=true
# drone 地址
# 外部协议方案根据你的域名判断是http还是https(ip加端口是http)
- DRONE_SERVER_PROTO=http
- DRONE_SERVER_HOST=192.168.45.2:8880
volumes:
- /volume1/docker/drone-sczz:/data
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 8880:80
- 8443:443
# drone-runner Drone Pipeline处理执行器,一个单独的守护进程,会轮询 Server,获取需要执行的流水线任务,之后执行
drone-runner-sczz:
# 容器名称
container_name: drone-runner-sczz
image: drone/drone-runner-docker:1.8.3
# 依赖的服务
depends_on:
- drone-server-sczz
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- TZ=Asia/Shanghai
# 用于连接到Drone服务器的协议。该值必须是http或https
- DRONE_RPC_PROTO=http
# 用于连接到Drone服务器的主机名
- DRONE_RPC_HOST=192.168.45.2:8880
- DRONE_RPC_SECRET=183c3d6179cb3d5a5efdf89e37d1e9d4
# 限制运行程序可以执行的并发管道数
- DRONE_RUNNER_CAPACITY=2
- DRONE_RUNNER_NAME=drone-runner-sczz
- DRONE_DEBUG=true # 调试相关,部署的时候建议先打开
- DRONE_LOGS_DEBUG=true # 调试相关,部署的时候建议先打开
- DRONE_LOGS_TRACE=true # 调试相关,部署的时候建议先打开
复制代码
DRONE_GITEA_CLIENT_ID=gitea 中 OAuth2 授权信息中的 客户端 ID
DRONE_GITEA_CLIENT_SECRET=gitea 中 OAuth2 授权信息中的 客户端密码
DRONE_RPC_SECRET:用于 drone-server 与 drone-runner 通信使用
使用 以下命令生成即可
openssl rand -hex 16
复制代码
3.启动 drone
#启动
docker-compose up -d
#关闭
docker-compose down
复制代码
4.drone 设置
初级登录激活后
设置 .drone.yml 配置文件地址
测试推送
生成构建
可以查看构建过程,途中蓝色按钮可以手动构建。
划线
评论
复制
发布于: 刚刚阅读数: 3
流火
关注
还未添加个人签名 2018-01-31 加入
还未添加个人简介
评论