本地部署轻量级持续集成工具 Drone CI 并实现外部访问
Drone 是一款基于容器技术的持续集成(CI)和持续交付(CD)平台,它使开发者从代码提交到测试再到部署等软件开发流程中的各个阶段实现自动化。本文将详细介绍如何利用 Docker 在本地部署 Drone CI 并结合路由侠实现外网访问本地部署的 Drone CI 。
第一步,本地部署安装 Drone CI
1,安装 Docker 和 Docker Compose
本教程操作环境为 Linux Ubuntu 系统,我们需要先确保你的系统上已经安装了 Docker 和 Docker Compose 。如果尚未安装,可以参考官方文档进行安装:
- Docker 安装教程
- Docker Compose 安装教程
2,在你的 Git 服务提供商处创建 OAuth 应用,本教程以 GitHub 为例。进入 GitHub 官网: https://github.com/ 。

登录之后进入【 Settings 】→【 Developer settings 】→【 OAuth Apps 】。



点击【 New OAuth App 】,填写信息:Application name:Drone CI (本地) 、 Homepage URL:http://localhost:8081 、 Authorization callback URL:http://localhost:8081/login ,点击【 Register application 】。

记下 Client ID 和 Client Secret(后面会用到)。

3,在终端输入以下内容创建并进入一个新目录 drone-CI-docker 。
mkdir drone-CI-docker && cd drone-CI-docker
使用 vim docker-compose.yml 命令创建 docker-compose.yml 文件并输入以下内容进行保存:
version: '3'services:drone-server:image: drone/drone:latestports:- "8081:80"volumes:- ./drone-data:/dataenvironment:- DRONE_GITEA_SERVER=https://github.com- DRONE_GITEA_CLIENT_ID=${DRONE_CLIENT_ID}- DRONE_GITEA_CLIENT_SECRET=${DRONE_CLIENT_SECRET}- DRONE_RPC_SECRET=${DRONE_RPC_SECRET}- DRONE_SERVER_HOST=localhost:8081- DRONE_SERVER_PROTO=http- DRONE_USER_CREATE=username=your-github-username,admin=truerestart: alwaysdrone-agent:image: drone/agent:latestdepends_on:- drone-servervolumes:- /var/run/docker.sock:/var/run/docker.sockenvironment: - DRONE_RPC_SERVER=http://drone-server:8081- DRONE_RPC_SECRET=${DRONE_RPC_SECRET}restart: always
4,在同一目录下使用 vim .env 命令创建 .env 文件,输入以下内容,修改成上面记下的 Client ID 和 Client Secret :
DRONE_CLIENT_ID=你的GitHub客户端ID DRONE_CLIENT_SECRET=你的GitHub客户端密钥 DRONE_RPC_SECRET=$(openssl rand -hex 16)
运行以下命令生成 RPC 密钥:
echo "DRONE_RPC_SECRET=$(openssl rand -hex 16)" >> .env
5,运行以下命令启动 Drone :
docker-compose up -d
6,打开浏览器访问地址:http:// 本地服务器 IP :8081 ,来到 Drone CI Server 的欢迎页面。

点击【 CONTINUE 】按钮,你应该会被重定向到 GitHub 进行授权。登录后点击右上角的【 + 】按钮,选择你想要启动 CI 的仓库点击【 ACTIVATE 】进行激活,然后在你的项目根目录下创建 .drone.yml 文件即可进行后续操作。

第二步,外网访问本地 Drone CI
在内网的电脑上安装路由侠,点此下载
1,下载安装完成后,打开路由侠界面,点击【内网映射】。

2,点击【添加映射】。

3,选择【原生端口】。

4,在内网主机填写你的服务器 IP 并且在内网端口里填写端口 8081 后点击【创建】按钮,如下图。

5,创建好后,就可以看到一条映射的公网地址,鼠标右键点击【复制地址】。

6,在外网电脑上,打开浏览器,在地址栏输入从路由侠生成的外网地址,就可以看到内网部署的 Drone CI 界面了,登录即可进行操作。

