drone和gogs安装

news2025/1/21 18:58:19

背景介绍

什么是 Drone?
Drone 是一个面向忙碌的开发团队的自助持续集成和持续交付平台。

官网地址:
https://www.drone.io/

同时,Drone 是使用 Golang 语言进行编写。所有的编译、测试的流程都在 Docker 容器中执行。Drone 通过使用简单的 YAML 配置文件,就可以轻松的定义出一条流水线,并且每一个构建操作都是在一个临时的 Docker 容器中执行,能够完全控制其构建环境并保证隔离。最后,开发人员只需要在项目中引入 .drone.yml 文件,将代码推送到 Git 仓库中,即可自动化的完成编译、测试 和 发布。

简单来说,Drone 其实就是一款轻量级的 Jenkins ,可以占用更少的资源,实现软件的流水线操作,并且可以轻松的和 Gitlab、Gitee、Github 相结合。

之前一直使用的是jenkins,最近听同行说,drone更轻量,所以准备测试一下。

一 使用的系统环境和镜像版本

系统版本:AlmaLinux release 9.2
docker  版本:Docker version 24.0.2
drone/drone-runner-docker:1.4.0
drone/drone:latest #最好用最新版本 2.18.0
gogs/gogs:0.12.0
所有的镜像都部署到了192.168.2.45的机器上

二 安装部署方式

2.1 drone各组件介绍

Drone 应用由 Server(服务器) 和 Runner(执行器) 两种服务构成。
Server(服务器) 主要负责管理和展示, Runner(执行器) 主要负责执行操作。

Server
Server(服务器) 负责的工作主要有
连接集成代码仓库
提供 web 管理页面
管理 Runner

2.2 部署drone-server

docker run -itd \
--env=DRONE_AGENTS_ENABLED=true \
--env=DRONE_GOGS_SERVER=http://192.168.2.45:13000 \
--env=DRONE_SERVER_PROTO=http \
--env=DRONE_SERVER_HOST=192.168.2.45:20080 \
--env=DRONE_USER_CREATE=username:administrator,admin:true \
--env=DRONE_RPC_SECRET=123456 \
--name=drone-server \
--restart=always \
-p 20080:80 \
-v /home/drone/server/data:/data \
drone/drone:2.18.0

2.2.1 drone-server登录界面:

登录 drone http://192.168.2.45:28080 登录drone会提示你使用gogs的用户名和密码登录。稍后会在部署gogs的时候介绍如何创建用户。
image.png

2.3 部署Runner

docker run -itd \
--env=DRONE_RPC_PROTO=http \
--env=DRONE_RPC_HOST=192.168.2.45:20080 \  #drone-server地址
--env=DRONE_RPC_SECRET=123456 \
--env=DRONE_RUNNER_CAPACITY=2 \
--env=DRONE_RUNNER_NAME=drone-runner-line \
--name=drone-runner \
--restart=always \
-p 23000:3000 \
-v /var/run/docker.sock:/var/run/docker.sock \
drone/drone-runner-docker:1.4.0

2.4 部署gogs(代码仓库)

docker run -itd --name=gogs --restart=always --privileged -p 12022:22 -p 13000:3000 -v /home/gogs/data:/data gogs/gogs:0.12.0

#登录gogs
# 在浏览器中输入以下IP地址,进入配置页面
http://192.168.2.45:13000/

2.4.1 选择数据库

登录进去之后,会提示你选择指定的数据库,我这里使用sqlite
image.png

2.4.2 设置域名和url:

image.png

2.4.3 创建登录用户

image.png

2.4.4 gogs登录界面

image.png

至此,drone和gogs都已经完全部署完了,接下来会介绍drone如何进行使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1063917.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

直线导轨坏了可以维修吗?

直线导轨是工业自动化设备中常用的零部件,其性能和使用寿命对设备的稳定运行和产能有着直接的影响,在生产中,由于各种原因,直线导轨会出现各种问题,那么,直线导轨的维修方法究竟是怎样的呢?我们…

竞赛选题 深度学习 opencv python 实现中国交通标志识别_1

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 🔥 优质…

【安鸾靶场】实战渗透

文章目录 前言一、租房网 (150分)二、企业网站 (300分)三、SQL注入进阶 (550分) 前言 最近看到安鸾的靶场有些比较有意思就打了一下午,有一定难度。 一、租房网 (150分) http://106.15.50.112:8031/ 刚打开burp就报了thinkphp的代码执行 直接getshell flag&a…

邮件注册(一)验证码发送

通过邮箱实现注册&#xff0c;用户请求验证码完成注册操作。 导入依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency><dependency><g…

PACS系统 PACS系统源码一种用于存储、管理和传输医学影像数据的系统

医用软件中的影像归档与传输系统软件&#xff08;Picture Archiving and Communication System&#xff0c;简称PACS&#xff09;是一种用于存储、管理和传输医学影像数据的系统。其主要功能包括&#xff1a; 影像存储&#xff1a;PACS可以将医学影像数据以数字化的形式存储在服…

C语言之自定义类型_结构体篇(2)

目录 结构体传参 结构体实现位段&#xff08;位段的填充&可移植性&#xff09; 什么是位段 位段的大小计算 位段的内存分配 位段的跨平台问题 位段的应用 今天接着我们继续自定义类型结构体。&#x1f642;&#x1f642; 结构体传参 在我们初阶结构体我们学习过结…

Spring web security

儅使用spring的web security時&#xff0c;默認會轉向自帶的spring security example page。而不會轉向error page。 TODO: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId> &l…

城市、机场、服务区等场景下的智慧公厕建设诀窍揭秘

在如今繁忙的生活节奏中&#xff0c;人们对于公共服务设施的需求越来越高。而智慧公厕正是把传统公共厕所转变为智慧化的场所&#xff0c;得到了极大的欢迎。目前&#xff0c;各行各业均对公共厕所进行信息化、智慧化、数字化的升级&#xff0c;尤其是在机场、服务区和城市等场…

基于SSM的电子相册系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

6.MySql连接SqlYog

MySql连接SqlYog SqlYog和navicat均是数据可视化工具&#xff0c;熟悉其一即可 SqlYog下载安装 连接&#xff0c;密码和端口号一定要正确&#xff01;&#xff01;&#xff01; 2.保存到数据库 创建数据库&表 创建数据库 创建成功 创建表 点击保存 查看表数据的…

基于javaweb的智慧社区设计与实现

目录 前言 一、技术栈 二、系统功能介绍 客户信息管理 客户信息管理 社区信息管理 车位租买支付 前台车位信息 车位预定提交 问卷调查管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理…

【Spring篇】Bean的三种配置和实例化方法

&#x1f38a;专栏【Spring】 &#x1f354;喜欢的诗句&#xff1a;天行健&#xff0c;君子以自强不息。 &#x1f386;音乐分享【如愿】 &#x1f384;欢迎并且感谢大家指出小吉的问题&#x1f970; 文章目录 &#x1f33a;bean基本配置&#x1f33a;bean别名配置&#x1f33a…

RStudion | 基础使用教程(初学者详细) | 基本设置 | 快捷操作 | 脚本运行 | 画图

RStudion | 基础使用教程 | 基本设置 | 快捷操作 | 脚本运行 | 画图 一、RStudio界面布局二、RStudio基础设置2.1 general | 常规设置2.2 Code | 代码2.3 Console | 控制台2.4 Appearance | 外观2.5 Pane Layout | 排版布局2.6 Packages | R包2.7 R Markdown2.8 Python2.9 Swea…

反爬虫机制与反爬虫技术(一)

反爬虫机制与反爬虫技术一 1、网络爬虫的法律与道德问题2、反爬虫机制与反爬虫技术2.1、User-Agent伪装2.2、代理IP2.3、请求频率控制2.4、动态页面处理2.5、验证码识别3、反爬虫案例:豆瓣电影Top250爬取3.1、爬取目标3.2、库(模块)简介3.3、翻页分析3.4、发送请求3.5、提取…

【Python+requests+unittest+excel】实现接口自动化测试框架

一、框架结构&#xff1a; 工程目录 二、Case文件设计 三、基础包 base3.1 封装get/post请求&#xff08;runmethon.py&#xff09; 1 import requests2 import json3 class RunMethod:4 def post_main(self,url,data,headerNone):5 res None6 if header …

Javascript文件上传

什么是文件上传 文件上传包含两部分&#xff0c; 一部分是选择文件&#xff0c;包含所有相关的界面交互。一部分是网络传输&#xff0c;通过一个网络请求&#xff0c;将文件的数据携带过去&#xff0c;传递到服务器中&#xff0c;剩下的&#xff0c;在服务器中如何存储&#xf…

TL-ER3220G端口映射设置

1、打开IE浏览器或其它浏览器&#xff0c;在地址栏输入192.168.1.1登录路由器的Web管理界面&#xff1b; 2、打开后弹出密码输入框&#xff0c;输入路由器的用户名和密码&#xff0c;出厂默认值为admin/admin&#xff0c;成功登录后将看到路由器的系统状态信息&#xff1b; 3、…

2023 年 Web 安全最详细学习路线指南,从入门到入职(含书籍、工具包)【建议收藏】

第一个方向&#xff1a;安全研发 你可以把网络安全理解成电商行业、教育行业等其他行业一样&#xff0c;每个行业都有自己的软件研发&#xff0c;网络安全作为一个行业也不例外&#xff0c;不同的是这个行业的研发就是开发与网络安全业务相关的软件。 既然如此&#xff0c;那其…

MyBatisPlus(十三)逻辑查询:and / or

说明 逻辑查询&#xff0c;对应SQL语句中的多个查询条件进行逻辑组合&#xff0c;包括 and 和 or。 逻辑 “与” &#xff1a;and 默认情况下&#xff0c;多个查询条件&#xff0c;就是使用的逻辑与&#xff08;and&#xff09;连接&#xff0c;并不需要再使用 and() 函数。…

modelize.ai - 小记

文章目录 关于 关于 官网&#xff1a;https://www.beta.modelize.ai Modelize.ai是一个AI agents和teams的创作平台&#xff0c;通过结合多元的agents以及工作流的衔接&#xff0c;让AI agents之间高效协同&#xff0c;达到一键式完成复杂工作的效果。 公司的愿景是让AI打工人…