The Drone community provides end-user support via chatroom and mailing list. We are happy to answer any questions you have and help solve any problems you are facing. To expedite the support process and maximize the possibility of a successful outcome, we ask that you read the below guide and, when applicable, provide all requested information.
Information We Will Request
Please provide as much detail as possible when asking for support. You should expect that we will ask for all of the below details in order to process your support request. Please be proactive and provide these details, otherwise it could significantly prolong the support process.
- Provide your server version
- Provide your server configuration
- Provide your runner configuration
- Provide your runner version
- Provide your full server logs with trace logging enabled
- Provide your full runner logs with trace logging enabled
- Provide your yaml configuration file
- Provide your build details via this API endpoint
- Provide your build logs for your build, from the user interface
- Provide screenshots when possible so we can see what you see
Chat vs Mailing List
For complex troubleshooting, we recommend creating a thread in the mailing list. Real-time chat is not optimal for support because things get buried in the chat logs and they are not searchable or indexed by Google. Instead, please consider starting a thread in the mailing list, and then post a link to the thread in the chatroom.
Search Existing Issues
Search the mailing list for existing issue prior to asking for help. It is possible the issue has already been discussed in-depth and a resolution provided.
Consult the Official Documentation
If you are following instructions or a tutorial from a random blog or website and they aren’t working, it is very possible this information is outdated and was intended for an older version of Drone. Please consult the official documentation.
Use the Latest Version of Drone
Make sure you are running the latest version of Drone. Sometimes you may experience an issue that has already been resolved in a newer version of Drone.
Use Precise Language
Please use precise language to describe the issue to reduce the number of follow-up questions that need to be asked. Here are some examples of how to better state the problem:
-
Bad: the build doesn’t work
Good: a record is created for the build entry in the user interface, but it is stuck with an hour glass icon -
Bad: I push code and nothing happens
Good: I push code to github and I do not see a build entry in the user interface. I refresh the page and do not see anything. I checked the server logs and I do not see any entry. -
Bad: the server hangs
Good: I attempt to access the server but the page never loads in my browser and I eventually receive an error. Here is a copy of the error message, here is a copy of my server configuration, and here is a copy of my logs with trace logging enabled. -
Bad: Is GitHub login broken?
Good: When I login to GitHub the browser returns an error indicating there was an infinite redirect. I have installed Drone version X and am running Drone behind an nginx reverse proxy. -
Bad: My build works locally, but fails in Drone. Is Drone broken?
Good: My build is failing. Here is a copy of my yaml configuration file, and here is a copy of the build logs. Can you please take a look and advise why the build may be failing?
Enable Debug Logs
Enable debug mode on your server (and agents if applicable). Debug logs can be important when troubleshooting and provide insight into the underlying operations and potential error messages. Provide relevant logs when asking for help.
-
Enable debug logs on the server:
DRONE_LOGS_DEBUG=true
-
Enable debug logs on the server, for Kubernetes:
DRONE_RPC_DEBUG=true
-
Enable debug logs on the agent:
DRONE_LOGS_DEBUG=true
-
Enable trace logs on the agent, for debugging connectivity issues:
DRONE_LOGS_TRACE=true
Provide Steps to Reproduce
Please try and provide steps to reproduce when possible. This includes any commands you are running or configuration you are using, including a sample of the Yaml configuration file.
Provide Your Repository Configuration
Please try and always provide your Yaml configuration file when asking questions about your build, even if it does not seem relevant. This may help us rule out potential root causes.
Provide Your Repository and Build Details
Please try and provide your repository, build and secret metadata. You can retrieve this data, in json format, by logging into the Drone user-interface and visiting the following endpoints (placeholder values should be replaced with actual values).
/api/repos/{owner}/{repo}
/api/repos/{owner}/{repo}/builds/{number}
/api/repos/{owner}/{repo}/secrets
/api/user
This information can be helpful when:
- secrets are not working
- registry credentials (stored in secrets) are not working
- cannot activate a repository
- cannot update repository configuration (cron, secrets, etc)
- cannot restart or cancel a build
- build or step is failing with an unexpected error message
- build is stuck in a running state
Provide the Full Logs for Failing Steps
If you are looking for help debugging a particular build step, please provide the full build output. Please avoid incomplete output or snippets, since they may omit important information that could otherwise be helpful when debugging.
Provide Your Server and Agent Configuration
If you are having problems with the server or agent, or with kubernetes, please provide the server and agent configuration. The system configuration is useful if you are experiencing:
- builds stuck in pending
- connectivity issues to the website (http, https, ssl, etc)
- connectivity issues to github (cannot login, infinite redirect, etc)
- unable to execute builds (stuck in a pending state, always error, etc)