Installation
This article explains how to install the Nomad. The Nomad runner is packaged as a minimal Docker image distributed on DockerHub.
Download
Install Docker and pull the public image:
$ docker pull drone/drone-runner-nomad:latest
Configuration
The Nomad runner is configured using environment variables. This article references the below configuration options. See Configuration for a complete list of configuration options.
- DRONE_RPC_HOST
provides the hostname (and optional port) of your Drone server. The runner connects to the server at the host address to receive pipelines for execution. - DRONE_RPC_PROTO
provides the protocol used to connect to your Drone server. The value must be either http or https. - DRONE_RPC_SECRET
provides the shared secret used to authenticate with your Drone server. This must match the secret defined in your Drone server configuration. - DRONE_JOB_DATACENTER
provides the datacenter used when scheduling Nomad jobs. The value is optional and defaults to dc1 if unspecified. - DRONE_JOB_REGION
provides the region used when scheduling Nomad jobs. - DRONE_JOB_NAMESPACE
provides the namespace used when scheduling Nomad jobs. - NOMAD_TOKEN
provides the Nomad token. - NOMAD_*
the system supports all NOMAD_ client configuration parameters as defined in the Nomad client documentation.
Installation
The below command creates the a container and start the Docker runner. Remember to replace the environment variables below with your Drone server details.
$ docker run -d \
-v /var/run/docker.sock:/var/run/docker.sock \
-e DRONE_RPC_PROTO=https \
-e DRONE_RPC_HOST=drone.company.com \
-e DRONE_RPC_SECRET=super-duper-secret \
-e NOMAD_ADDR=http://nomad.company.com:4646 \
-e NOMAD_TOKEN=super-secret-token \
--restart always \
--name runner \
drone/drone-runner-nomad:latest
Verification
Use the docker logs command to view the logs and verify the runner successfully established a connection with the Drone server.
$ docker logs runner
INFO[0000] starting the server
INFO[0000] successfully pinged the remote server