首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >gitea + drone CI/CD

gitea + drone CI/CD

作者头像
jgrass
发布2025-02-24 10:49:38
发布2025-02-24 10:49:38
19500
代码可运行
举报
文章被收录于专栏:蔻丁杂记蔻丁杂记
运行总次数:0
代码可运行

gitea: Gitea Official Website

drone server: https://docs.drone.io/server/overview/

drone runner: https://docs.drone.io/runner/overview/

安装 drone server (基于 gitea)

文档: https://docs.drone.io/server/provider/gitea/

第一步, 在 gitea 添加 OAuth2 Applications

这里的 URL,填写 drone server 的部署地址. 域名/IP 都可以,如果是 docker 部署,这里不要写 127.0.0.1 这种回环地址,需要写 192.168 这类局域网地址.

记住 Client ID 和 Client Secret

第二步 Create a Shared Secret

Terminal window

代码语言:javascript
代码运行次数:0
运行
复制
openssl rand -hex 16068a98df4700ad90ed646e1f716e42d9

第三步 docker 部署 drone server

Terminal window

代码语言:javascript
代码运行次数:0
运行
复制
docker pull drone/drone:2

docker-compose.yml

代码语言:javascript
代码运行次数:0
运行
复制
version: "3.8"
services:  drone-server:    image: drone/drone:2    container_name: drone    restart: always    ports:      - "33000:80"      - "33001:443"    volumes:      - ./data:/data    environment:      - DRONE_GITEA_SERVER=http://192.168.50.106:3300/ # 替换为你的 Gitea 服务器地址      - DRONE_GITEA_CLIENT_ID=75f3afac-d66e-410c-9262-ec1ad78cf7cb # 替换为你的 Gitea OAuth Client ID      - DRONE_GITEA_CLIENT_SECRET=gto_hbdmxg2gfuifnqf3navblqmwlcwfbjyvhecyjk7bg44xua3v23ta # 替换为你的 Gitea OAuth Client Secret      - DRONE_RPC_SECRET=068a98df4700ad90ed646e1f716e42d9 # 替换为你的 RPC Secret      - DRONE_SERVER_HOST=192.168.50.106:30000 # 替换为你的外部主机名或 IP 地址      - DRONE_SERVER_PROTO=http # 根据需要设置为 http 或 https

安装 drone runner (docker)

https://docs.drone.io/runner/docker/installation/linux/

代码语言:javascript
代码运行次数:0
运行
复制
version: '3.8'
services:  runner:    image: drone/drone-runner-docker:1    container_name: runner    restart: always    ports:      - "33100:3000"    environment:      - DRONE_RPC_PROTO=http # drone server 的部署协议      - DRONE_RPC_HOST=192.168.50.106:33000 # drone server 的地址      - DRONE_RPC_SECRET=068a98df4700ad90ed646e1f716e42d9 # rpc secret, 与 drone server 中的配置对应      - DRONE_RUNNER_CAPACITY=2 # 可以并行执行的 runner 数量      - DRONE_RUNNER_NAME=runner-docker1 # runner 名称      - DRONE_RUNNER_LABELS=node1:docker1 # runner tag      - DRONE_UI_USERNAME=root # UI 界面登录用户名      - DRONE_UI_PASSWORD=root      - DRONE_UI_DISABLE=false # 是否支持 http UI 界面,可以通过 ports 配置的端口来访问      - DRONE_DEBUG=true      - DRONE_TRACE=true    volumes:      - /var/run/docker.sock:/var/run/docker.sock

安装 drone runner (exec)

drone-runners/drone-runner-exec: Experimental Drone pipeline runner that executes builds directly on the host machine

有个问题是, docker 中的 runner 只能基于 docker 虚拟环境来运行,有些场景需要基于本地原生的 Windows 来执行,这就需要 drone-runner-exec

https://docs.drone.io/runner/exec/installation/windows/

但是, drone-runner-exec 已经长时间不维护了,而且最后的版本,测试使用也没有成功.

有个思路是自己写一个来做中转. 在本地 Windows 运行一个服务,运行 docker runner,在 docker runner 中调用这个本地 Windows 运行的服务. 但是有点折腾.

使用

在代码仓库中,编写 .drone.yml (也可以自定义,在 drone 中配置)

原文链接: https://cloud.tencent.com/developer/article/2498848

本作品采用 「署名 4.0 国际」 许可协议进行许可,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025年2月23日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装 drone server (基于 gitea)
  • 安装 drone runner (docker)
  • 安装 drone runner (exec)
  • 使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档