心得坊

所见即所得

使用docker和docker-compose部署Drone

image.png

drone是一中替代jenkins的自动化构建工具,轻量级,可以配合gogs和其他多种git服务端配合使用,这里我们只是展示了gogs的配置。

官网:https://docs.drone.io/

它分为服务端和运行端,分开的 都是利用docker进行部署,所以可以分开部署和利用docker-compose一起部署。

分开使用docker部署:

#服务端
docker run \
  --volume=/app/drone/service:/data \
  --env=DRONE_AGENTS_ENABLED=true \
  --env=DRONE_GOGS_SERVER=https://gogs.com \
  --env=DRONE_RPC_SECRET=key \#这里填key 和下面的运行端一致即可
  --env=DRONE_SERVER_HOST=deploy.com \ #域名
  --env=DRONE_SERVER_PROTO=https \
  --env=DRONE_USER_CREATE=username:username,admin:true\ #有这个用户名才能开启特殊模式才能挂载卷
  --publish=89:80 \
  --publish=444:443 \
  --restart=always \
  --detach=true \
  --name=drone \
  drone/drone:2
#运行端
docker run --detach \
  --volume=/var/run/docker.sock:/var/run/docker.sock \
  --volume=/app/drone/runner:/droneData \
  --env=DRONE_RPC_PROTO=https \
  --env=DRONE_RPC_HOST=deploy.com  \
  --env=DRONE_RPC_SECRET=key\
  --env=DRONE_RUNNER_CAPACITY=2 \
  --env=DRONE_RUNNER_NAME=my-first-runner \
  --publish=3000:3000 \
  --restart=always \
  --name=runner \
  drone/drone-runner-docker:1

分别修改key和域名还有gogs的域名即可启动

或者使用docker-compose 一次启动

脚本:docker-compose.yml

version: '3'

services:
  drone:
    image: drone/drone:2
    container_name: drone
    volumes:
      - /app/drone/service:/data
    environment:
      - DRONE_AGENTS_ENABLED=true
      - DRONE_GOGS_SERVER=https://git.com
      - DRONE_RPC_SECRET=key
      - DRONE_SERVER_HOST=deploy.com
      - DRONE_SERVER_PROTO=https
      - DRONE_USER_CREATE=username:username,admin:true
    ports:
      - "89:80"
      - "444:443"
    restart: always

  runner:
    image: drone/drone-runner-docker:1
    container_name: runner
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /app/drone/runner/docker:/droneData
    environment:
      - DRONE_RPC_PROTO=https
      - DRONE_RPC_HOST=deploy.com
      - DRONE_RPC_SECRET=key
      - DRONE_RUNNER_CAPACITY=2
      - DRONE_RUNNER_NAME=my-first-runner
    ports:
      - "3000:3000"
    restart: always

然后使用命令启动:

docker-composer up -d


Powered By Z-BlogPHP 1.7.3

又拍云提供CDN及云存储服务   

蜀ICP备2024069014号-1