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
- 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/hugoor 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
hugoprocess is actually stalled.
- The process is not deadlocked; sending a SIGHUP to the
hugoprocess causes it to print
Hangupand exit, subsequently failing the build.
I’d appreciate any help you all could provide. Thanks!