【Drone入门与实践-7】drone的安装

1,785 阅读1分钟

drone是国外比较流行的自动化构建工具,基于docker。相比较jenkins,它会让服务器环境更加干净。它整个的构建流程全部在容器中完成,同时它拥有一个非常现代化的Web界面。

image.png

1、drone的安装

我们需要先去mysql数据创建一个drone数据库。然后在test-node-1执行

docker run --name=drone \
--volume=/data/drone:/data \
--env=DRONE_AGENTS_ENABLED=true \
--env=DRONE_GOGS_SERVER=http://172.16.113.9:3000 \
--env=DRONE_RPC_SECRET=123456key \
--env=DRONE_SERVER_HOST=172.16.113.9:8080 \
--env=DRONE_SERVER_PROTO=http \
--env=TZ=PRC \
--env=DRONE_DATABASE_DRIVER=mysql \
--env=DRONE_DATABASE_DATASOURCE="root:123456@tcp(mysql5.7:3306)/drone?parseTime=true" \
--publish=8080:80 \
--publish=8443:443 \
--detach=true \
--restart=always \
--network app_network \
--restart always \
-d drone/drone

等待完成后,在浏览器访问http://172.16.113.9:8080/,这时候我们使用gogs的账号密码登录即可。

image.png

这时候点击右上角的SYNC可以把gogs的仓库同步到drone。等等!到这里还没完,到这一步还没好呢。

2、drone-runner的安装

runner是drone的核心部件,在test-node-1执行

docker run -d --name drone-runner \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e DRONE_RPC_PROTO=http \
  -e DRONE_RPC_HOST=drone:80 \
  -e DRONE_RPC_SECRET=123456key \
  -e DRONE_RUNNER_CAPACITY=2 \
  -e DRONE_RUNNER_NAME=drone-runner \
  -e DRONE_DATABASE_DRIVER=mysql \
  -e DRONE_DATABASE_DATASOURCE="root:123456@tcp(mysql5.7:3306)/drone?parseTime=true" \
  -p 13000:3000 \
  --network app_network \
  --restart always \
  drone/drone-runner-docker

⚠️注意:DRONE_RPC_HOST这个环境变量填写的是drone的容器名,DRONE_RPC_HOST这个填写的是drone容器内的端口号。

3、检查drone-runner日志

检查一下日志,可以帮我们确定drone-runner是否真的连接上drone了,如果有异常,日志中会输出。 我们可以直接在portainer上查看日志:

image.png

成功进入后会输出类似下图的日志:

image.png

4、小结

现在drone和runner都安装完成,我们先放一边,后面会用到。