code: function upload(entityPath) {
    const prefix = `history/v${version.split('-')[0]}`
    const uploadPath = `${project}/${prefix}/${entityPath
      .replace('_book/', '')
      .replace('/**', '')}`
    const command = `gsutil -m cp -r -a public-read ${entityPath} gs://${uploadPath}`
    return runCommand(command).then(
      ({ stdout, stderr }) =>
        stdout ? Promise.reject(stdout) : { output: stderr, uploadPath }
    )
  }
docs: Upload file or folder to cloud storage. gsutil is used instead of
  google-cloud/storage module so that folders can be uploaded.
  @param  {String} entityPath - Local path for entity (file/folder) to upload
  @return {Promise} Resolve with an object containing stdout and uploadPath
  @private