Drone+Gitee自动执行构建、测试和发布工作流
拉取Drone:(至于版本,你可以下载最新的)
sudo docker pull drone/drone:2
拉取runner:
sudo docker pull drone/drone-runner-docker
在Gitee中添加第三方应用:
进入个人主页,点击设置:
往下翻,找到数据管理中的第三方应用
点击创建应用:
【注意】:应用主页需要配置成后续启动Drone服务时配置的服务地址DRONE_SERVER_HOST 配置的地址,需要公网IP或域名,回调地址要将上/login,只是固定写法
(如果是部署在局域网服务器上,没有公网,可以参考我另一篇文章,将drone的服务端口映射到公网IP上如何跨局域网访问服务?内网穿透、组网-CSDN博客)
可以上传你项目的logo,
权限根据自己实际情况设置:
由于运行drone和runner的命令很长,不方便,我这里就使用docker-compose,你可以用ChatGPT去转,Client ID和Client Secret环境变量添应用中的对应值
version: '3'
services:drone:image: drone/drone:2container_name: dronerestart: alwaysenvironment:- DRONE_GITEE_CLIENT_ID=a186dffa02ca55ffe934f243b76add6e16a74e- DRONE_GITEE_CLIENT_SECRET=c377c209f2defa6980fbacbe0fae2f4eb8c9dcca00acd4- DRONE_SERVER_HOST=公网IP或域名:4321 ####(drone服务器地址)端口为内网映射到外网的地址- DRONE_SERVER_PROTO=http ###(http协议)- DRONE_RPC_SECRET=demo_drone- DRONE_USER_CREATE=username:Jungle,admin:true #应在启动时创建的可选用户帐户。这应该用于为系统提供管理帐户。- DRONE_GIT_USERNAME=root- DRONE_GIT_PASSWORD=2c3072c307- TZ=Asia/Shanghaiports:- 4321:80volumes:- ./drone_data:/datarunner:image: drone/drone-runner-dockercontainer_name: runnerrestart: alwaysenvironment:- DRONE_RPC_PROTO=http- DRONE_RPC_HOST=172.20.3.12:4321 #drone访问地址- DRONE_RPC_SECRET=demo_drone ####(与server端一致即可)- DRONE_RUNNER_CAPACITY=4 #可选数字值。限制运行器可以执行的并发管道数。这不会限制可以在单个节点上执行的并发管道数。- DRONE_RUNNER_NAME=runner- TZ=Asia/Shanghai- DRONE_DEBUG=true- DRONE_TRACE=trueports:- "3001:3000"volumes:- /var/run/docker.sock:/var/run/docker.sockdepends_on:- drone
更多详细配置:Reference | Drone
启动后访问Drone访问地址,ip加端口,也可以访问映射的公网地址,选择你要自动部署的项目,点击ACTIVATE REPOSITORY
点击NEW BUILD
项目根目录下添加 .drone.yml 文件,文件内容(Java后端示例):Yaml | Drone
参考文章;https://www.cnblogs.com/yg0070/articles/17958795#%E5%9C%A8gitee%E4%B8%AD%E5%88%9B%E5%BB%BA%E7%AC%AC%E4%B8%89%E6%96%B9%E5%BA%94%E7%94%A8%E6%8E%88%E6%9D%83
kind: pipeline # 定义对象类型,还有secret和signature两种类型
type: docker # 定义流水线类型,还有kubernetes、exec、ssh等类型
name: jar-deploy # 定义流水线名称steps: # 定义流水线执行步骤,这些步骤将顺序执行- name: build-package # 流水线名称image: maven:3.8.6-openjdk-11 # 定义创建容器的Docker镜像volumes: # 将容器内目录挂载到宿主机,仓库需要开启Trusted设置- name: maven-cachepath: /root/.m2 # 将maven下载依赖的目录挂载出来,防止重复下载- name: maven-buildpath: /app/build # 将应用打包好的Jar和执行脚本挂载出来commands: # 定义在Docker容器中执行的shell命令- mvn clean package -Pprod # 应用打包命令- mkdir -p /app/build/old- cp -r /app/build/*.jar /app/build/old/- cp -r smart-admin/target/smart-plus.jar /app/build/when:branch: [ master, main, release, develop ]- name: restartimage: docker:dindvolumes:- name: dockersockpath: /var/run/docker.sockcommands:- docker restart serverwhen:branch: [ main, master, release, develop ]volumes: # 定义流水线挂载目录,用于共享数据- name: dockersockhost:path: /var/run/docker.sock- name: maven-buildhost:path: /home/teacher/software/smart-docker/jar # 从宿主机中挂载的目录- name: maven-cachehost:path: /root/.m2
推送代码测试一下:
可以看到:正在部署中(第一次运转会比较慢)
相关文章:

Drone+Gitee自动执行构建、测试和发布工作流
拉取Drone:(至于版本,你可以下载最新的) sudo docker pull drone/drone:2 拉取runner: sudo docker pull drone/drone-runner-docker 在Gitee中添加第三方应用: 进入个人主页,点击设置: 往下翻,找到数…...
Unity3D MMORPG 主城角色动画控制与消息触发详解
Unity3D是一款强大的游戏开发引擎,它提供了丰富的功能和工具,使开发者能够轻松创建出高质量的游戏。其中,角色动画控制和消息触发是游戏开发中非常重要的一部分,它们可以让游戏角色表现出更加生动和多样的动作,同时也能…...

【Text2SQL 经典模型】HydraNet
论文:Hybrid Ranking Network for Text-to-SQL ⭐⭐⭐ arXiv:2008.04759 HydraNet 也是利用 PLM 来生成 question 和 table schema 的 representation 并用于生成 SQL,并在 SQLova 和 X-SQL 做了改进,提升了在 WikiSQL 上的表现。 一、Intro…...

Mysql-根据字段名查询字段在哪些表里
SELECT * FROM information_schema.COLUMNS WHERE COLUMN_NAMElabel_name;...
牛逼!50.3K Star!一个自动将屏幕截图转换为代码的开源工具
1、背景 在当今快节奏的软件开发环境中,设计师与开发者之间的协同工作显得尤为重要。然而,理解并准确实现设计稿的意图常常需要耗费大量的时间和沟通成本。为此,开源社区中出现了一个引人注目的项目——screenshot-to-code,它利用…...

八种单例模式
文章目录 1.单例模式基本介绍1.介绍2.单例模式八种方式 2.饿汉式(静态常量,推荐)1.基本步骤1.构造器私有化(防止new)2.类的内部创建对象3.向外暴露一个静态的公共方法 2.代码实现3.优缺点分析 3.饿汉式(静态…...

禅道密码正确但是登录异常处理
禅道密码正确,但是登录提示密码错误的异常处理 排查内容 # 1、服务器异常,存储空间、数据库异常 # 2、服务异常,文件丢失等异常问题定位 # 1、df -h 排查服务器存储空间 # 2、根据my.php排查数据库连接是否正常 # 3、修改my.pho,debugtrue…...

Go微服务: Nacos的搭建和基础API的使用
Nacos 概述 文档:https://nacos.io/docs/latest/what-is-nacos/搭建:https://nacos.io/docs/latest/quickstart/quick-start-docker/有很多种搭建方式,我们这里使用 docker 来搭建 Nacos 的搭建 这里,我们选择单机模式…...
基于Hadoop的城市公共交通大数据时空分析
基于Hadoop的城市公共交通大数据时空分析 “Spatio-temporal Analysis of Urban Public Transportation Big Data based on Hadoop” 完整下载链接:基于Hadoop的城市公共交通大数据时空分析 文章目录 基于Hadoop的城市公共交通大数据时空分析摘要第一章 引言1.1 研究背景1.2 …...

DNS服务的部署与配置(2)
1、dns的安装及开启 dnf install bind.x86_64 -y #安装 #Berkeley Internet Name Domain (BIND) systemctl enable --now named #启用dns服务,服务名称叫named firewall-cmd --permanent --add-servicedns #火墙设置 firewall-cmd --reload …...

MySql--SQL语言
目录 SQl---DDL 结构定义 创建、删除 数据库 代码 运行 设计表 数据类型 整数 浮点数 主键 约束 主键自增长 默认值 字段注释 创建、删除 表 代码 运行 代码 代码 运行 SQL---DML 数据操纵 插入数据 代码 运行 代码 运行 代码 运行 代码 …...

【网络安全】2030年十大新兴网络安全威胁
欧盟网络安全局(ENISA)已发布了一份全面的清单,列出了预计到2030年将影响数字领域的十大新兴网络安全威胁。 该预测是为期八个月的广泛研究的成果,融合了ENISA前瞻专家小组、CSIRTs网络以及欧盟CyCLONe专家的见解。 这项研究突显…...

python数据分析-CO2排放分析
导入所需要的package import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import datetime %matplotlib inline plt.rcParams[font.sans-serif] [KaiTi] #中文 plt.rcParams[axes.unicode_minus] False #负号 数据清洗…...

2024宝藏工具EasyRecovery数据恢复软件免费版本下载
在这个数字化的时代,数据已经成为我们生活中的重中之重。无论是工作中的重要文件,还是手机中珍贵的照片,我们都依赖着这些数据。然而,数据丢失的情况时有发生,可能是误删,可能是设备故障,更可能…...
【EventSource错误解决方案】设置Proxy后SSE发送的数据只在最后接收到一次,并且数据被合并
【EventSource错误解决方案】设置Proxy后SSE发送的数据只在最后接收到一次,并且数据被合并 出错描述 出错原因与解决方案 出错描述 SSE前后端一切正常,但是fetchEventSource 的onmessage回调函数只在所有流都发送完毕后,才会执行一次。 前…...
如何在linux命令行(终端)执行ipynb 文件。可以不依赖jupyter
1.安装 runipy pip install runipy 2.终端运行 runipy <YourNotebookName>.ipynb 在终端命令行执行shell脚本,(也可以在crontab 中执行): (base) [recommendapp-0-5-B-006 script]$ cat run1.sh #!/bin/bashcd /home/recom…...

基于YOLOv8的车牌检测与识别(CCPD2020数据集)
前言 本篇博客主要记录在autodl服务器中基于yolov8实现车牌检测与识别,以下记录实现全过程~ yolov8源码:GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > OpenVINO > CoreML > TFLite 一、环境配置 …...

驱动开发之新字符设备驱动开发
1.前言 register_chrdev 和 unregister_chrdev 这两个函数是老版本驱动使用的函数,现在新的 字符设备驱动已经不再使用这两个函数,而是使用 Linux 内核推荐的新字符设备驱动 API 函数。 旧版本的接口使用,感兴趣可以看下面这个博客&#…...
【JMU】21编译原理期末笔记
本拖延症晚期患者不知不觉已经有半年没写博客了,天天不知道在忙什么。 乘着期末周前赶紧先把编译原理上传了,我记得我这科是86分,有点小遗憾没上90,但是总体不错。 链接:https://pan.baidu.com/s/1gO8pT7paHv1lkM_ZpkI…...

就业信息|基于SprinBoot+vue的就业信息管理系统(源码+数据库+文档)
就业信息管理系统 目录 基于SprinBootvue的就业信息管理系统 一、前言 二、系统设计 三、系统功能设计 1前台功能模块 2后台功能模块 4.2.1管理员功能 4.2.2学生功能 4.2.3企业功能 4.2.4导师功能 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...

佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...

算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...

论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...

Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...

Linux入门课的思维导图
耗时两周,终于把慕课网上的Linux的基础入门课实操、总结完了! 第一次以Blog的形式做学习记录,过程很有意思,但也很耗时。 课程时长5h,涉及到很多专有名词,要去逐个查找,以前接触过的概念因为时…...

Springboot 高校报修与互助平台小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,高校报修与互助平台小程序被用户普遍使用,为…...

Excel 怎么让透视表以正常Excel表格形式显示
目录 1、创建数据透视表 2、设计 》报表布局 》以表格形式显示 3、设计 》分类汇总 》不显示分类汇总 1、创建数据透视表 2、设计 》报表布局 》以表格形式显示 3、设计 》分类汇总 》不显示分类汇总...