docker安装drone

Drone简介

Drone是基于GO语言开发的持续集成(Continuous integration,CI)引擎,它可以借助Docker容器技术,用于自动化测试与构建,满足持续交付的基本需求,适合小团队开发。Drone具有简洁、轻量级、启动快、资源占用量少等特点。 Jenkins也是CI引擎,它的特点是文档丰富、功能丰富、插件丰富、配置功能强大等特点,但资源占用较高。Drone比Jenkins轻量级,对云原生支持较好。

官方网址:https://www.drone.io/

docker安装drone

创建Drone-server容器

docker run -p 3080:80
    -e DRONE_AGENTS_ENABLED=true
    -e DRONE_GOGS_SERVER=http://192.168.0.100:3000
    -e DRONE_RPC_SECRET=droner$888
    -e DRONE_SERVER_HOST=192.168.0.100:3080
    -e DRONE_SERVER_PROTO=http
    -e DRONE_USER_CREATE=username:gogs,admin:true
    -e TZ="Asia/Shanghai"
    -v /software/docker/drone:/data
    --restart=always
    --detach=true
    --name=drone
    -d drone/drone

说明

-e DRONE_GOGS_SERVER=http://192.168.0.100:3000 此处为gogs的访问地址
-e DRONE_RPC_SECRET=droner$888 该值为非固定但是部署drone-runner时 需要保持一致
-e DRONE_SERVER_HOST=192.168.0.100:3080 配置drone的访问地址
-e DRONE_USER_CREATE=username:gogs,admin:true 设置管理员账号最好和gogs的管理员一致

在这里插入图片描述

创建Drone-runner-docker容器

docker run -p 3001:3000
    -v /var/run/docker.sock:/var/run/docker.sock
    -e DRONE_RPC_PROTO=http
    -e DRONE_RPC_HOST=192.168.0.100:3080:3080
    -e DRONE_RPC_SECRET=droner$888
    -e DRONE_RUNNER_CAPACITY=2
    -e DRONE_RUNNER_NAME=runner-docker
    -e TZ="Asia/Shanghai"
    --restart always
    --name drone-runner
    -d drone/drone-runner-docker

说明:

-e DRONE_RPC_HOST=192.168.0.100:3080:3080 drone-server的访问地址
-e DRONE_RPC_PROTO=http 有证书可以是https
-e DRONE_RPC_SECRET=droner$888 需要和drone-server保持一致
在这里插入图片描述

访问drone-server面板

  1. 访问http://192.168.0.100:3080/
    在这里插入图片描述
  2. 用gogs账号登录-建议用超级管理员账号登录
  3. 简单填一下邮箱、全名和公司信息即可
  4. 进入控制面板
    在这里插入图片描述
    可以看到我们gogs中的项目了

操作

  1. 点击同步到的项目,设置drone的项目属性
    在这里插入图片描述

  2. 开启信任权限
    在这里插入图片描述

  3. 点击激活仓库后,gogs中相应的项目会添加Web 钩子

在这里插入图片描述
至此,drone就安装成功了