DroneDeploy Developer Documentation

This site is hosted at developer.dronedeploy.com, it is intended for developer partners - both app developers and enterprise clients - to understand how to integrate with our platform.

There are three main sections of this website, and this repo is designed to build them into one site

  • Marketing pages - developer overview, case studies etc
  • Documentation - hand written documentation on how to use our javascript and backend APIs
  • API Reference - Automatically generated documentation based on our GraphQL endpoint, generated by graphdoc

Building

To build everything into one site run make package. This will build the gitbook, the graphdoc and put the landing page assets into the ./build directory. This will be automatically pushed up to S3 during the Jenkins build.

To run the built site run make run, note that http-server is required to run the built server.

Developing

Since there are three different sources combined into one each one has it's own way to easily update.

Marketing pages

All marketing pages are stored in the ./landing_page directory. Using http-server or similar to serve the pages. The links to the other sections will 404 since for that you need to run the whole build process.

Documentation (gitbook)

You can develop this by running gitbook's CLI. After installing you can run gitbook serve and it will build and serve the gitbook documentation.

GraphDoc

This is automatically generated from the graphql schema so to add to this you need to open up a PR against drone_web and modify the schema file

Deploying main site

The CI for this repo is not automatically connected to anything. To deploy, build the Jenkins job and use the appropriate target. Entering master will deploy to https://developer-test.dronedeploy.com while prod will deploy to https://developer.dronedeploy.com.

NOTE:: The Jenkins job always fetches the latest master branch, so the build parameter only controls the deployment target.

Publishing to GitBook

Our GitBook account uses the built-in integration with GitHub to automatically sync our content from GitHub directly to GitBook.

Updating GitBook content

We are automatically syncing the prod branch from this GitHub repo to GitBook so the process for updating GitBook is simple:

When you are ready to update the GitBook content, merge the latest master branch into prod and let GitBook take care of the rest.