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 }
  )
}
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
@returns {Promise} Resolve with an object containing stdout and uploadPath
@private