目录
- Drone简介
- docker安装drone
- 创建Drone-server容器
- 创建Drone-runner-docker容器
- 访问drone-server面板
- 操作
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面板
- 访问http://192.168.0.100:3080/
- 用gogs账号登录-建议用超级管理员账号登录
- 简单填一下邮箱、全名和公司信息即可
- 进入控制面板
可以看到我们gogs中的项目了
操作
-
点击同步到的项目,设置drone的项目属性
-
开启信任权限
-
点击激活仓库后,gogs中相应的项目会添加Web 钩子
至此,drone就安装成功了