使用以下Docker Compose文件在虚拟机上安装了Drone 0.8:
version: '2'
services:
drone-server:
image: drone/drone:0.8
ports:
- 8080:8000
- 9000:9000
volumes:
- /var/lib/drone:/var/lib/drone/
restart: always
environment:
- DATABASE_DRIVER=sqlite3
- DATABASE_CONFIG=/var/lib/drone/drone.sqlite
- DRONE_OPEN=true
- DRONE_ORGS=my-github-org
- DRONE_ADMIN=my-github-user
- DRONE_HOST=${DRONE_HOST}
- DRONE_GITHUB=true
- DRONE_GITHUB_CLIENT=${DRONE_GITHUB_CLIENT}
- DRONE_GITHUB_SECRET=${DRONE_GITHUB_SECRET}
- DRONE_SECRET=${DRONE_SECRET}
- GIN_MODE=release
drone-agent:
image: drone/agent:0.8
restart: always
depends_on: [ drone-server ]
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DRONE_SERVER=drone-server:9000
- DRONE_SECRET=${DRONE_SECRET}
所有变量值都存储在
.env
文件中,并已正确传递到正在运行的容器中。尝试使用私有(private)Github存储库运行构建。首次推送到存储库时,构建会开始并失败,并出现以下错误(即构建失败):然后,在点击并重新启动按钮后,看到另一个屏幕(即,构建未完成):
在同一台计算机上运行以下容器:
root@ci:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
94e6a266e09d drone/agent:0.8 "/bin/drone-agent" 2 hours ago Up 2 hours root_drone-agent_1
7c7d9f93a532 drone/drone:0.8 "/bin/drone-server" 2 hours ago Up 2 hours 80/tcp, 443/tcp, 0.0.0.0:9000->9000/tcp, 0.0.0.0:8080->8000/tcp root_drone-server_1
即使使用
DRONE_DEBUG=true
,代理程序日志中唯一的日志条目也是:2017/09/10 15:11:54 pipeline: request next execution
因此,我认为出于某种原因,我的代理无法从队列中获取构建。我注意到最新的Drone版本正在使用GRPC而不是WebSockets。
那么如何开始构建呢?我在这里想念的是什么?
最佳答案
问题的原因-.drone.yml
文件错误。在这种情况下,只应显示第一个红色屏幕。为错误的YAML显示pending
和Restart
按钮是一个无人机问题。
关于continuous-integration - 无人机0.8 : build stuck in pending state,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46143733/