Docker部署Drone

Docker通过docker-compose部署Drone

       之前介绍过Drone部署Drone,昨天在自己一台服务器上用docker-compose方式部署Drone,并且成功自动化构建项目,所以特开一篇介绍docker-compose方式部署Drone,docker-compose部署的好处就是不用输两段命令,将所有部署命令都整合到一个编排文件里,方便管理。

       一、准备配置

       部署之前我们需要到Gitea上创建一个应用,拿到应用Id跟应用密钥,假设分别是

应用ID:1534f0fb-ed56-423c-bb9e-2c1cd3d147cc
应用密钥:qLtpMG5SaIxJixmbODzlAWH1CjmyYhv8UXanvkD9tiku

除了上面两个参数外,我们还需要准备一个密钥,我们直接在服务器输入以下命令生成

openssl rand -hex 16

生成密钥

86e1f551700d990d0acc48129d9bc65d

       二、准备编排文件

       我们创建一个文件名为docker-compose.yml文件,内容如下

version: "3.0"
services:
  #部署drone-server
  drone-server:
    image: drone/drone
    container_name: drone
    ports:
      - "1380:80"
    volumes:
      - /home/drone:/data
    restart: always
    environment:
      - DRONE_AGENTS_ENABLED=true
      - DRONE_GITEA_SERVER=http://gitea.test.cn
      - DRONE_RPC_SECRET=86e1f551700d990d0acc48129d9bc65d
      - DRONE_SERVER_HOST=drone.test.cn
      - DRONE_SERVER_PROTO=http
      - DRONE_USER_CREATE=username:admin:true
      - DRONE_GITEA_CLIENT_ID=1534f0fb-ed56-423c-bb9e-2c1cd3d147cc
      - DRONE_GITEA_CLIENT_SECRET=qLtpMG5SaIxJixmbODzlAWH1CjmyYhv8UXanvkD9tiku
      - TZ="Asia/Shanghai"
    restart: always
  #部署drone-agent
  drone-agent:
    image: drone/drone-runner-docker
    container_name: runner-docker
    ports:
      - "3000:3000"
    restart: always
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - DRONE_RPC_PROTO=http
      - DRONE_RPC_HOST=drone.test.cn
      - DRONE_RPC_SECRET=86e1f551700d990d0acc48129d9bc65d
      - DRONE_RUNNER_CAPACITY=2
      - DRONE_RUNNER_NAME=runner-docker
      - TZ="Asia/Shanghai"
    restart: always

       三、运行docker-compose

       我们在编排文件所在目录输入以下命令进行部署Drone

docker-compose up -d

       四、访问Drone

       部署成功后,我们浏览器直接访问IP:1380就可以。

0条评论

发表评论