当前位置: 首页 > news >正文

本地部署轻量级持续集成工具 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 界面了,登录即可进行操作。

http://www.dtcms.com/a/552844.html

相关文章:

  • gitlab-ci中cicd+helm实现devops自动化部署到k8s
  • 网站欢迎页面怎么做江门建站公司模板
  • 评论回复网站怎么做郑州百度搜索优化
  • Rust开发之使用derive宏自动实现Trait(Clone、Debug)
  • 15. setState的更新是异步的吗
  • Qwen2.5-VL开源,斩获多榜单冠军!
  • Prometheus和Grafana简介
  • 基于深度学习的医疗器械分类编码映射系统:设计篇
  • Rust开发之自定义错误类型(实现Error trait)
  • 【Java Web学习 | 第三篇】CSS(2) - 元素显示模式
  • 10月31日
  • Mybatis-Plus实现MySQL分表
  • 兵团住房和城乡建设局网站网站设计标杆企业
  • 快充新标杆:AVS 协议如何重塑手机充电体验
  • LIUNX 与手机安卓的文件互传 的常用方法
  • 第一届数证杯做题笔记(流量分析和手机取证)
  • 【IO多路转接】深入解析 poll:从接口到服务器实现
  • 【Spring Boot】Spring Boot解决循环依赖
  • 网站开发发展趋势2018网上建立网站赚钱
  • SuperMap Hi-Fi 3D SDK for Unreal 使用蓝图接口加载多源数据
  • 【Java】如何使用jdbc连接并操作MySQL,一文读
  • SSM宠物寄养系统ih041gj7(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 网站广告素材php网站免费模板
  • 还在用JDK8?JDK8升级JDK11:一次价值千万的升级指南
  • 深圳网站建设模板乐云seo与设计行业相关的网站
  • 缓存异常:缓存穿透、缓存击穿、缓存雪崩
  • 【计算机网络】IO复用方法(二)——Select
  • 【Java EE进阶 --- SpringBoot】统一功能处理(拦截器)
  • 主流数据分析工具全景对比:Excel / Python / R / Power BI / Tableau / Qlik / Snowflake
  • 从被动防御到主动管控:雷池SafeLine的远程安全运营之道