【Drone】ubuntu 20.x 版本下 通过docker-compose方式部署drone的全流程 整合gitee

news2024/11/22 17:09:49

一、前期准备

1、ubuntu环境

  • 确定是否具有 ssh: service ssh start,如果没有,使用:apt install openssh-server 进行安装
  • 查看 Linux 的 IP 地址: ifconfig,命令不可用时,通过:apt install net-tools安装命令
  • 可选:设置 root 的密码: sudo passwd root
  • 可选:开启 root 的 ssh 登录: vim /etc/ssh/sshd_config,将 PermitRootLogin 设置成 true

2. 安装 docker

  • 使用脚本自动安装的方式:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
  • 启动 Docker:service docker start
  • 注意点:
    如果不是 root 用户,可以选择为其添加 sudo 权限
    启动后可以通过 docker --version 和 docker images 查看是否正确安装

3. 安装 docker-compose

  • 使用脚本自定安装的方式:curl -L https://get.daocloud.io/docker/compose/releases/download/v2.13.0/docker-compose-uname -s-uname -m> /usr/local/bin/docker-compose
  • 为其添加权限:chmod +x /usr/local/bin/docker-compose
  • 查看是否安装完成:docker-compose --version

4. 创建 gitee 自定义应用

  • 过程按照这个来:https://docs.drone.io/server/provider/gitee/
  • 创建完成后,将 Client ID 和 Client Secret 保存下来备用
  • 使用 openssl rand -hex 16 创建一个 RPC SECRET 保存下来备用

二、gitee打通drone

drone集成gitee的docker-compose如下

# 创建一个文件
vim docker-compose.yml

version: '3'
services:
  drone-server:
    restart: always ## 容器自动重启
    image: drone/drone:latest
    container_name: drone
    ports:
      - '5000:80' ## 映射到宿主机的端口
      - '5001:443'
    volumes:
      - /var/lib/drone:/data
    environment:
      - DRONE_GITEE_CLIENT_ID=92c4ea961b...cb ## gitee中生成的CLIENT ID
      - DRONE_GITEE_CLIENT_SECRET=42da1b38...4bc8 ## gitee中生成的SECRET
      - DRONE_SERVER_HOST=127.0.0.1:5000 ## 端口需要和映射至宿主机的一致
      - DRONE_SERVER_PROTO=http
      - DRONE_RPC_SECRET=d049b64c9...f980108d42 ## openssl rand -hex 16 自动生成
      - DRONE_USER_CREATE=username:【查看如下:1,如何找到】,admin:true ## gitee中的用户名
      - DRONE_LOGS_TEXT=true
      - DRONE_LOGS_PRETTY=true
      - DRONE_LOGS_COLOR=true
  drone-runner:
    restart: always ## 容器自动重启
    image: drone/drone-runner-docker:latest
    container_name: drone-runner
    # ports:
    #   - '3000:3000' ## 映射到宿主机的端口,用于提供web页面,显示任务执行情况,可不映射
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - DRONE_RPC_PROTO=http
      - DRONE_RPC_HOST=127.0.0.1:5000
      - DRONE_RPC_SECRET=d049b64c9...f980108d42 ## 与server服务中保持一致
      - DRONE_RUNNER_NAME=docker-worker
      - DRONE_RUNNER_CAPACITY=2

1、DRONE_USER_CREATE

找到username

在gitee中如何拿到username?
在gitee中->设置->个人资料->个人空间地址->用户名

在这里插入图片描述

2、第三方应用获取 clientID和secret

找到【第三方应用】的位置
如下图:

这里点击进去找到
Client ID
Client Secret

3、DRONE_RPC_SECRET

在这里插入图片描述

4、Gitee OAuth 授权错误

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、drone 配置

在这里插入图片描述

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

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

相关文章

pdf太大,怎么压缩的小一点,这几个方法高效便捷

pdf太大,怎么压缩的小一点呢?我们在日常办公中,使用到pdf文件的情况很多。因为pdf文件可以在几乎所有操作系统和设备上打开,这使得它们非常方便。而且PDF 文件的内容和格式在不同设备之间始终保持一致,这意味着无论在哪…

PowerShell install 一键部署virtualbox

VirtualBox 前言 VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。Innotek 以 GNU General Public Licens…

优思学院|什么是8D报告?

企业中的问题,就像生活中的麻烦事,总是层出不穷,让人头疼不已。有时候,我们可能会遇到一些棘手的问题,简单的方法已经无法解决了,这时候,8D问题解决法就是一把利器。 所以,我们不应…

档案室库房十防要求及措施

档案室“十防”措施 根据档案保护技术的要求,结合本公司档案实际,现制定“十防”措施如下: 一、 防火 1、 指定专人负责防火安全工作。 2、 定期检查手动灭火器,发现灭火器表压低于绿色区域时,必须及重新充装。 3、…

Consule系列:Consul实现详解

Consul 的实现 Consul 使用 Consensus 协议提供一致性(Consistency)—— CAP 定义的一致性。Consensus 协议是基于 “Raft: In search of an Understandable Consensus Algorithm” 实现的。 Consul Protocol Raft 算法 Raft 是基于 Paxos 的一致性算法。 与 Paxos 相比&#x…

Java每日一练(20230518) 移除元素、跳跃游戏II、复原IP地址

目录 1. 移除链表元素 🌟 2. 跳跃游戏 II 🌟🌟 3. 复原 IP 地址 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 移…

在 Mac M2 (arm64架构)上编译安装 GmSSL 工具

GmSSL是一个开源密码工具包,为GM/T系列标准中规定的中国国家密码算法和协议提供一级支持。作为OpenSSL项目的一个分支,GmSSL提供了与OpenSSL的API级兼容性,并维护了所有功能。现有的项目,如ApacheWeb服务器,只需稍加修…

前端面试题整理3

目录 1.不使用promise怎么实现一个异步编程? 2.this的指向有哪些? 3.Ref和reactive响应式的区别? 4.首屏加载优化。如何处理? 5.axios封装? 6.css为什么使用预处理? 7.从1000-9999里面取出AAAA这种数字&#xf…

从价格战中突围,仅10个月开发出一款车,安全性能靠谱吗?

经历了2023年初的价格战,一场关于智能汽车的淘汰赛似乎正式开始了。 尽管“降价热潮”还在继续,但简单的价格竞争毕竟非长久良策。 一方面,为了维持收益,部分车企通过减配、降低服务成本,甚至将降本压力给到上游供应…

【这个命令的 7 种用法!你确定不会用?】

可以很肯定地说,find 命令是 Linux 后台开发人员必须熟知的操作之一,除非您使用的是 Windows Server。 对于技术面试,它也是一个热门话题。让我们看一道真题: 如果你的 Linux 服务器上有一个名为 logs 的目录,如何删…

Spring 事务和事务传播机制

1.什么是事务(为什么要有事务) 事务就是将一组操作封装成一个执行单元(封装到一起),要么一起成功,要么一起失败。 在打账的情景上,A向B转账200 元,A的账户-200.B的账号200&#xff…

基于直流微电网的光伏并网功率转换装置设计与运行仿真

摘要 微电网是目前国内外应用较为广泛的一种绿色可再生能源,近几年我国微电网产业的发展十分迅速。然后,越来越多的微电网系统建立并网,微电网产生的电能受外界因素影响较大,具有一定的随机性和波动性,给并网后的电力系…

SaaS 产品如何选择设计协作工具?

文章内容转载腾讯 CoDesign 随着互联网及其衍生技术的发展,企业比以往更依赖内容去吸引、去培养自己的用户,寻求转化。小鹅通就是在微信生态中帮助企业通过知识服务去实现内容分发和流量聚合,帮助企业沉淀用户,提供深度私域运营服…

回收站清空了怎么找回文件?3种办法恢复彻底删除文件!

电脑回收站大家都有一定的了解,只要在回收站的文件没有被删除的时候是可以还原的,但是回收站删除了,文件就无法直接恢复。回收站清空了怎么找回文件? 别着急,今天小编就分析几种恢复回收站删除数据的办法: 方法一&am…

(转载)从0开始学matlab(第8天)—matlab画图入门

1.基本画图方式 MATLAB 的扩展性和机制独立的画图功能是一个极其重要的功能.这个功能使数据画图变得十分简单 . 画一个数据图 , 首先要创建两个向量,由 x, y 构成 , 然后使用 plot 函数. 例如 , 假设我们要画出函数 yx -10x10 的图象 , 定义域为[ …

分享两组不同的3D VR卡片

最近某音上出现了很多VR视频,转动手机可以看到手机界面未显示出来的场景。这种事情我觉得我们也可以做到。 所以两种不同的3D VR卡片来了: 第一种是横向或上下可以拖动极大的距离。卡片上的信息会随着拖动移动,但不会显示更多的信息&#x…

二、LLC 谐振变换器

半桥 LLC 谐振变换器主电路结构 如图所示,半桥 LLC 谐振变换器主电路可以分为四个部分,即:逆变网络、谐振网络、变压器及整流滤波网络。两个 MOSFET(S1、S2)以及它们的体二极管(D1、D2)和寄生电…

svn清理以下路径失败显示乱码问题

报错: svn作为我们经常使用的版本管理服务器,在使用过程中经常需要通过clean up操作来完成本地文件与服务器文件信息及版本信息同步, 然而有时右键会在执行清理命令时提示“清理以下路径失败: xxx 文件名、目录名或卷标语法不…

DevOps 的道术法器,探寻 DevOps “立体化”实践之旅

​引言 随着业务的发展,软件发布迭代的频率越来越高,传统的瀑布型模式已经不能满足快速交付的需求,DevOps 也因此受到持续关注。越来越多的公司开始接受并尝试使用 DevOps,期望能使得软件开发中的构建、测试与发布工作变得更加快捷…

进程与线程的理解

目录 一、进程 1、进程的简介: 2、进程的组成: 3、进程的状态 4、进程控制: 5、进程的创建: 6、进程的终止 7、进程的阻塞和唤醒 8、进程上下文切换 二、线程 1、线程: 2、线程的优缺点: 三、进程与线程 比…