• 首页
  • 博客
  • 项目
  • 留言墙
  • 工具集

动态更新

喜欢我的内容的话不妨订阅支持一下 🫶
加入其他 2 位订阅者,每月一封,随时可以取消订阅。

© 2025 Koya. 网站已开源:GitHub   Fork CaliCastle

首页博客项目留言墙工具集
总浏览量 4.3万
最近访客来自 Madrid, ES🇪🇸
  • 准备#
  • 配置Docker-Compose#
  • 启动 Drone 服务#
  • 配置 nginx 代理#
  • 体验Drone#
  • 资料:#
基于Gitea+Drone搭建自己的CI/CD平台
2018-06-09 19:37:00技术

基于Gitea+Drone搭建自己的CI/CD平台

上一篇我们搭建了自己的Git服务,搭建Git之后,想找一个能解放生产力的工具,本文是集成Gitea和Drone-CI之解放生产力之方案,可参考步骤搭建自己的CI/CD服务

384次点击3分钟阅读

上一篇我们搭建了自己的Git服务器 搭建自己的Git服务器-Gitea安装教程, 搭建Git之后,想找一个能解放生产力的工具

这个时间突然看到了Drone这个CI工具,了解过后,觉得这个特别适合做为CI、CD工具的入门训练,而且它的功能非常强大

Drone也是原生就支持docker的CI,所有编译、测试的流程都在 Docker 容器中进行。

开发者只需在项目中包含 .drone.yml 文件,将代码推送到 git 仓库,Drone 就能够自动化的进行编译、测试、发布。

本篇博客会从0开始安装一个Drone

下面开始安装

准备#

  • 拥有公网 IP、域名 (或者拥有自己的本地 Gitea 以供测试)
  • 域名 SSL 证书 (可以使用Letsencrypt)
  • 熟悉 Docker 以及 Docker Compose
  • 熟悉 Git 基本命令
  • 对 CI/CD 有一定了解

配置Docker-Compose#

创建docker-compose.yml配置文件

注: 1、drone-agent的docker image地址是 drone/agent,这个之前安装时没有看清楚导致CI一直跑不起来😂 2、DRONE_HOST为你的CI的线上地址 3、DRONE_SERVER现在drone最新版中可以直接设置server:port的方式 4、因为使用的gitea,所有需要将DRONE_GITEA设置为true

启动 Drone 服务#

docker-compose up -d


启动之后 curl localhost:9000 验证是否启动成功

如果启动失败,可以执行以下命令查看报错信息

docker-compose logs

配置 nginx 代理#

如果想提供给外网访问,还需要最后一步,配置nginx代理到Gitea服务

配置如下:

接下来我们打开https://ci.marryto.me

登录验证需要输入gitea的用户名和密码,接下来我们可以体验自己搭建的drone-ci了


体验Drone#

我们打开一个Node项目,新建一个文件,然后push到gitea中试一下

pipeline的设置基本上和其他CI工具差别不大,而且drone还支持一些service的配置

这个是官方service的一个配置

而我们这次用不到service,只需要init和 build测试一下

将改动push到master之后,我们可以看一下现在drone的页面,现在页面上有一个job在跑,我们可以点开查看一下

我们的安装完成了

关于Drone和其他git服务的集成可以看一下Drone的官网

Tips:

如果遇到CI job一直失败的情况,而且自己的配置没有问题的话,可以升级一下自己的服务器虚拟内存试一下,土豪请忽略。

资料:#

Drone官网


相关文章

解锁DeepSeek-R1满血性能-AI 代码助手接入攻略

2025-02-18 15:47:01AI, 技术2018分钟阅读

使用 webworker 计算文件 MD5 和获取图片元数据

2024-12-25 15:35:18技术3284分钟阅读

How To Fix - CORS Error while uploading files on Cloudflare R2 using presigned URLs.

2024-06-05 16:34:55技术1,6701分钟阅读