之前介绍过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-serverdrone-server:image: drone/dronecontainer_name: droneports:- "1380:80"volumes:- /home/drone:/datarestart: alwaysenvironment:- 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-agentdrone-agent:image: drone/drone-runner-dockercontainer_name: runner-dockerports:- "3000:3000"restart: alwaysvolumes:- /var/run/docker.sock:/var/run/docker.sockenvironment:- 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
运行编排文件
我们在编排文件所在目录输入以下命令进行部署Drone
docker-compose up -d
访问Drone
部署成功后,我们浏览器直接访问IP:1380就可以。
文章转载自程序员技术笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。





