Интеграция частного облака GitHub PR

Настройка веб-крючка

  • Добавьте веб-крючок в ваше репо
  • URL полезной нагрузки: https://<NX_CLOUD_APP_URL>/nx-cloud/github-webhook-handler .
  • Тип контента: application/json
  • Добавьте "Секрет" (может быть любым).Запомните его,так как нам нужно будет передать его нашему контейнеру Docker.

Add webhook to github

  • Включите "Check Suites","Check runs" и "Pull Requests" в качестве событий,которые запускают webhook.

Enable check suites and check runs Enable pull requests

Сгенерируйте маркер доступа

  • Private Cloud потребуется разрешение на публикацию комментариев к вашим Pull-запросам
  • Следуйте этим инструкциям
  • Убедитесь,что вы выбрали "repo" в качестве области видимости
  • После генерации токена обязательно скопируйте и сохраните его.Через некоторое время мы добавим его в Private Cloud.

Generate personal access token

Необязательно-Настройте самостоятельно размещенные экземпляры GitHub

  • Если вы используете самостоятельно размещенную версию GitHub,вам нужно указать Private Cloud,куда направлять запросы
  • URL-адрес вашего GitHub API должен выглядеть так: https://custom-github-host.com (без косой черты в конце)
  • Запишите его,так как мы будем использовать его для настройки частного облака
  • Как вариант,вы можете попробовать использовать вышеуказанный URL в браузере,чтобы проверить,находит ли он API.
  • Обратите внимание, что если вы используете общедоступный GitHub, этот шаг не требуется. Вам также не нужно указывать переменную env GITHUB_API_URL при создании контейнера.

Запустите ваш контейнер со всеми параметрами конфигурации,которые мы создали выше:

> docker run --name cloud \
    -p 80:8081 \
    -e NX_CLOUD_MODE=private-community \
    -e NX_CLOUD_APP_URL="https://cloud.myorg.com" \
    -e ADMIN_PASSWORD=admin \
    -e GITHUB_WEBHOOK_SECRET=SECRET_YOU_PROVISIONED \
    -e GITHUB_AUTH_TOKEN=TOKEN_GENERATED_FOR_YOU \
    -e GITHUB_API_URL=URL \
    -v /data/private-cloud:/data nxprivatecloud/nxcloud:latest

Необязательно: NX_CLOUD_INTEGRATION_DEFAULT_WORKSPACE_ID

Nx Cloud использует свойство accessToken из nx.json, чтобы найти рабочую область для данного репозитория GitHub. Если невозможно установить accessToken , вы также можете передать переменную NX_CLOUD_INTEGRATION_DEFAULT_WORKSPACE_ID в контейнер. Это значение будет использоваться при отсутствии свойства accessToken accessToken Вы можете найти идентификатор вашего рабочего пространства в URL-адресе.