<commit_before># Deploy

Every plugin can either be deployed as a stand-alone bot, or combined with other plugins in one deployment.

> **Heads up!** Note that most [plugins in the @probot organization](https://github.com/search?q=topic%3Aprobot-plugin+org%3Aprobot&type=Repositories) have an official hosted integration that you can use for your open source project. Use the hosted instance if you don't want to deploy your own.

## Create the GitHub Integration

Every deployment will need a an [Integration](https://developer.github.com/early-access/integrations/).

1. [Create a new GitHub Integration](https://github.com/settings/integrations/new) with:
    - **Homepage URL**: the URL to the GitHub repository for your plugin
    - **Webhook URL**: Use `https://example.com/` for now, we'll come back in a minute to update this with the URL of your deployed plugin.
    - **Webhook Secret**: Generate a unique secret with `openssl rand -base64 32` and save it because you'll need it in a minute to configure your deployed plugin.
    - **Permissions & events**: See `docs/permissions.md` in the plugin for a list of the permissions and events that it needs access to.<commit_msg>Contents<commit_after># Deploy

Every plugin can either be deployed as a stand-alone bot, or combined with other plugins in one deployment.

> **Heads up!** Note that most [plugins in the @probot organization](https://github.com/search?q=topic%3Aprobot-plugin+org%3Aprobot&type=Repositories) have an official hosted integration that you can use for your open source project. Use the hosted instance if you don't want to deploy your own.

**Contents:**

1. [Create the GitHub Integration](#create-the-github-integration)
1. [Deploy the plugin](#deploy-the-plugin)
  1. [Heroku](#heroku)
  1. [Now](#now)
1. [Combining plugins](#combining-plugins)

## Create the GitHub Integration

Every deployment will need a an [Integration](https://developer.github.com/early-access/integrations/).

1. [Create a new GitHub Integration](https://github.com/settings/integrations/new) with:
    - **Homepage URL**: the URL to the GitHub repository for your plugin
    - **Webhook URL**: Use `https://example.com/` for now, we'll come back in a minute to update this with the URL of your deployed plugin.
    - **Webhook Secret**: Generate a unique secret with `openssl rand -base64 32` and save it because you'll need it in a minute to configure your deployed plugin.
    - **Permissions & events**: See `docs/permissions.md` in the plugin for a list of the permissions and events that it needs access to.
{'fraction_non_alphanumeric': 0.09984459984459984, 'fraction_numerical': 0.007381507381507382, 'mean_word_length': 4.443974630021142, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '872387', 'n_tokens_mistral': 718, 'n_tokens_neox': 682, 'n_words': 322}