一、前期准备

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 配置

在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐