I’m trying to build and deploy my Hugo static site with Drone but have so far been unable to do so. For some reason, the pipeline hangs as soon as a hugo
command is executed.
Here is my pipeline:
- name: build
image: plugins/hugo
settings:
hugo_version: 0.82.1
validate: true
extended: true
- name: deploy
image: drillster/drone-rsync
settings:
hosts: [ "********" ]
port: ***
delete: "true"
target: /usr/share/nginx/html/
source: public/*
user: rsync
key: [ rsync_key ]
And here is my Drone deployment:
version: '2'
services:
drone-server:
image: drone/drone:2.7.3
container_name: drone
restart: unless-stopped
networks:
- proxy
- drone
volumes:
- ./data:/var/lib/drone/
environment:
DRONE_GITEA_CLIENT_ID: ********
DRONE_GITEA_CLIENT_SECRET: ********
DRONE_GITEA_SERVER: https://git.domain.com
DRONE_GIT_ALWAYS_AUTH: "true"
DRONE_RPC_SECRET: "****"
DRONE_SERVER_HOST: "drone.domain.com"
DRONE_SERVER_PROTO: https
runner:
container_name: drone-runner
image: drone/drone-runner-docker:latest
networks:
- drone
volumes:
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
environment:
DRONE_RPC_HOST: drone
DRONE_RPC_SECRET: "****"
DRONE_RUNNER_CAPACITY: 1
DRONE_RUNNER_NAME: domain-docker
DRONE_LOGS_TRACE: "true"
DRONE_LOGS_PRETTY: "true"
DRONE_LOGS_COLOR: "true"
networks:
drone:
proxy:
external: true
Some notes and interesting observations:
- The pipeline runs fine locally with Drone CLI
drone exec
. - Other builds—e.g. a pipeline to build and test a Rust project—work fine.
- Using different versions of Hugo exhibit the same behavior.
- Using different versions of the Drone Docker runner exhibit the same behavior.
- The build stalls whether using the plugin
plugins/hugo
or installing Hugo on a plain Ubuntu image. - The agent is not losing track of the worker container or any processes; shelling into the container reveals the
hugo
process is actually stalled. - The process is not deadlocked; sending a SIGHUP to the
hugo
process causes it to printHangup
and exit, subsequently failing the build.
I’d appreciate any help you all could provide. Thanks!