# Подключить GitHub, GitLab, Bitbucket Сервис Amvera предоставляет возможность использовать сторонний git-сервис как основной. Для этого вам потребуется настроить вебхук и подключить git-сервис на вкладке "Репозиторий" вашего проекта. Для настройки вебхука вам потребуется токен вне зависимости от того, какой у вас репозиторий - приватный или публичный:
GitHub Раздел создания токена находится User settings -> Developer settings (в самом низу списка) -> Personal access tokens -> Fine-grained tokens Для токена потребуются следующие разрешения: ![](../../img/webhook/github_token_contents_permission.png) ![](../../img/webhook/github_token_hook_permission.png) Дополнительно можете установить следующие настройки: ![](../../img/webhook/github_token_settings.png) В конечном результате вы должны получить токен с следующими правами: ![](../../img/webhook/github_all_token_permissions.png)
GitLab Раздел создания токена находится User settings -> Access tokens Для токена потребуются следующие разрешения: ![](../../img/webhook/gitlab_token_permissions.png)
Bitbucket Раздел создания токена находится User settings -> Access tokens Для токена потребуются следующие разрешения: ![](../../img/webhook/bitbucket_token_permissions.png) Вам потребуется скопировать и вставить первую строчку: ![](../../img/webhook/bitbucket_token_copy.png)
Созданный токен вам нужно вставить в соответсвующее поле и выбрать репозиторий и актуальную ветку. ![](../../img/webhook/webhook_configured.png) После создания вебхука сделайте пуш в удаленный репозиторий, ваши изменения применятся в репозитории Амвера и сборка начнется автоматически. В случае необходимости вы можете обновить токен, вбырать другой репозиторий и ветку. ```{eval-rst} .. admonition:: Важно :class: warning * вебхуки реагируют только на push ивент * репозиторий Амвера может быть связан только с одним хуком * при возникновении ошибок, первым делом проверьте актуальность токена ``` ## Ручная настройка ## Видеоинструкция по подключению ```{eval-rst} .. youtube:: IcqYjw-MmN8 :align: center :width: 100% ``` Рассмотрим процесс подключения на примере публичного GitHub репозитория. * Перейдите на вкладку "Репозиторий" вашего проекта * Выберите из списка ваш git-сервис * Выберите ивент, в случае успешного выполнения которого, репозиторий Amvera будет делать pull. Если будут выбраны оба ивента, то репозиторий Amvera будет реагировать на CI ивент * Придумайте и добавьте секрет (обязательное поле). После добавления его можно будет изменить, но посмотреть значение не получится * Укажите целевую ветку удаленного репозитория * Скопируйте предлагаемый адрес * Нажмите "Применить" ![](../../img/webhook-add.png) ```{eval-rst} .. admonition:: Важно :class: warning CI для GitHub - Worflow runs, для GitLab - Pipeline events. Во время git pull используется merge strategy their. ``` После потребуется настроить вебхук в GitHub. * Добавьте новый вебхук * Вставьте скопированный адрес * Выберите Content-type: application/json * Добавьте секрет, который добавили в Amvera * Выберите ивент, на который вы хотите начать сборку проекта (Push / Workflow runs). На остальные ивенты Amvera будет отвечать статусом 400 * Нажмите "Add webhook" ![](../../img/webhook-github.png) Теперь можете делать git push в удаленный GitHub репозиторий, после все изменения будут применяться в Amvera репозитории. Сборка начнется автоматически. Подключение приватного GitHub репозитория. Процесс полностью идентичен, за исключением необходимости сгенерировать и добавить access token. * Перейдите в настройки вашего GitHub аккаунта * Слева внизу выберите "Developer settings" * Выберите Tokens (classic) -> Generate new token * Введите название * Установите Expiration - No expiration * Отметьте галочкой repo * Нажмите "Generate token" * Скопируйте его значение Перейдите на вкладку "Репозиторий" вашего проекта в Amvera и добавьте скопированный токен. После того как изменения успешно применились, вы можете делать git push в приватный репозиторий, и все изменения будут применяться в репозитории Amvera.