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

news/2024/5/17 18:27:01 标签: docker, ubuntu, gitee, drone

一、前期准备

ubuntu_1">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

docker_7">2. 安装 docker

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

dockercompose_13">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

gitee__18">4. 创建 gitee 自定义应用

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

giteedrone_22">二、gitee打通drone

drone集成giteedocker-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 授权错误

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

drone__94">5、drone 配置

在这里插入图片描述


http://www.niftyadmin.cn/n/335088.html

相关文章

GPT专业应用:撰写工作简报

●图片由Lexica 生成,输入:Workers working overtime 工作简报,作为一种了解情况、沟通信息的有效手段,能使上级机关和领导及时了解、掌握所属部门的政治学习、军事训练、行政管理等方面的最新情况;同时,能…

Selenium 简介

Selenium 是一个自动化测试框架,最初是为 Web 应用程序测试而开发的。它能够模拟用户在浏览器中的操作,包括点击、填写表单、上传文件等。Selenium 有多种编程语言的接口,包括 Python、Java、C#、Ruby 等。本文将介绍 Selenium 在 Python 中的…

牛奶蛋白过敏VS乳糖不耐受,看完这篇终于分清了

乳糖不耐受 乳糖不耐症的主要表现为一些胃肠道症状,有腹部紧张、肠鸣、腹痛、排气和腹泻等症状。如出现这些症状都是乳糖不耐受症的表现之一,但患有乳糖不耐的个体症状差异很大,而严重的乳糖不耐受多于摄入一定量乳糖后30min至数小时内发生。…

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

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

【python】:使用称密钥加密算法AES实现工程文件加密

AES工程文件加密 1.AES加密和解密的详细案例1.1. 导入必要的库:1.2. 定义加密和解密类:1.3. 测试加密和解密: 2.对单个.py文件加密使用方式:encrypt_file(mypassword, mytest.py)参考链接: 1.AES加密和解密的详细案例 …

准备半个月,面试5分钟不到就凉了,问的实在太····

从外包出来,没想到竟然死在了另一家厂子 自从加入这家公司,每天都在加班,钱倒是给的不少,所以我也就忍了。没想到12月一纸通知,所有人都不许加班,薪资直降30%,顿时有吃不起饭的赶脚。 好在有个…

HIVE建表详细教程

1. 注意事项如下 1.1 分区字段 可以有多个分区字段,一般以时间维度来建立分区,也可以再加其他字段。以业务场景为提前条件,来设定分区的字段。 从业务角度理解,分区字段可理解为业务数据的一部分,作为业务查询…

解决redux/Vuex刷新页面数据丢失问题

redux umi中使用dva替代了redux,对其的二次封装 这是全局的modal,如何处理state中的内容刷新丢失问题 思路:要解决强刷新浏览器导致state丢失的问题,可以将state存储在浏览器的sessionStorage中。当页面重新加载时,从sessionSto…