Использование удаленного хостинга Git

Смотреть видеоурок

Этот сценарий удобен, если вы уже работаете с удаленным репозиторием в GitHub (github.com) или BitBucket (bitbucket.org). Вы отправляете изменения в этот удаленный репозиторий, а затем Plesk получает их из удаленного репозитория и развертывает на вашем сайте.

Далее в этом разделе:

Клонирования репозитория Git

Использование SSH-подключения

Получение и развертывание файлов

Изменение ветки или пути

Выбор режима развертывания

Использование веб-хуков для автоматического получения

Включение дополнительных действий развертывания

Просмотр журналов записи изменений в репозиторий

Переименование или удаление репозитория

 

Клонирования репозитория Git

Вы можете создать репозиторий Git, который будет являться клоном удаленного репозитория. Откройте страницу Сайты и домены и нажмите Git. Если вы уже создали репозитории Git для своего домена, нажмите Добавить репозиторий. Вы увидите страницу создания нового репозитория:

Git_remote_create_HTTPS

Прежде всего, нужно выбрать, где будет храниться ваш код. Для этого сценария выберите Удаленный хостинг Git (например, GitHub или BitBucket).

Удаленный репозиторий Git. Укажите путь к вашему репозиторию в BitBucket или GitHub. Вы можете ввести его в формате HTTPS или SSH. Аутентификация по HTTP/HTTPS не поддерживается, поэтому вы можете использовать протокол HTTP/HTTPS, только если репозиторий не требует аутентификации. При использовании приватного репозитория Git, вы можете аутентифицироваться с помощью SSH ключа, сгенерированного в Plesk (дополнительную информацию можно найти в разделе Use SSH Connection ).

В разделе Ваш сайт укажите следующее:

  • Режим развертывания. По умолчанию используется Автоматическое развертывание. Это означает, что все изменения, переданные в репозиторий Git, будут автоматически развернуты на рабочем сайте. Если вы хотите изменить режим развертывания, нажмите ссылку автоматически развернуты и выберите другую опцию в открывшемся окне Режим развертывания. Если выбрано Развертывание вручную, вам придется вручную развертывать файлы из репозитория Git на хостинге. Если выбрано Без развертывания, файлы не будут развернуты на рабочем сайте (это можно использовать, например, для хранения и обмена кодом).

    Git_push_Deployment_mode

  • Целевая папка для публикации файлов Git на сайте. По умолчанию используется папка /httpdocs. Вы можете заменить ее на другую имеющуюся папку, нажав на имя папки.

    Git_push_Deployment_path

Нажмите OK. Plesk попытается установить соединение с удаленным репозиторием и клонировать его.

Progress1

После того, как вы увидите в окне выполнения, что клонирование успешно завершено, новый репозиторий отобразится на странице Git.

Progress3

Новый репозиторий отобразится на странице Сайты и домены > Git. В качестве имени репозитория Git будет использовано имя удаленного репозитория. Вы можете потом переименовать репозиторий (смотрите далее раздел Переименование репозитория).

Созданный репозиторий является клоном удаленного репозитория и будет использоваться для получения из него изменений и развертывания их в целевой папке.

Git_remote_created

 

Использование SSH-подключения

Вы можете использовать SSH-подключение к удаленному репозиторию Git. В этом случае при добавлении нового репозитория укажите URL удаленного репозитория в формате SSH. Появится поле Открытый ключ SSH, в котором вы увидите автоматически созданный Plesk открытый ключ SSH.

Git_pull_create_SSH

Прежде чем нажать ОК на этой странице, необходимо добавить ключ SSH в настройки удаленного репозитория Git. Более подробную информацию о добавлении ключа SSH смотрите в документации к GitHub и Bitbucket.

 

Получение и развертывание файлов

После записи изменений файлов вашего сайта и передачи их в удаленный репозиторий, перейдите на страницу Сайты и домены и нажмите кнопку Получить обновления возле имени репозитория. Изменения из удаленного репозитория будут получены в клонированный репозиторий Git.

Информацию о последней записи изменений можно увидеть на странице Сайты и домены > Git.

По умолчанию в Plesk используется режим Автоматического развертывания. Это означает, что как только файл передается в репозиторий, он немедленно развертывается в целевой папке (при необходимости можно отключить этот режим, смотрите далее раздел Выбрать режим развертывания).

Например, если вы получили файл index.html с текстом “Привет! Добро пожаловать на мой сайт!”, вы можете тут же открыть адрес сайта и увидеть изменения.

Git_website

 

Изменение ветки или пути

Развертывание из новой ветки

Обычно работают с несколькими ветками в одном репозитории. В каждый момент активной может быть только одна ветка. По умолчанию для развертывания используется основная ветка.

Чтобы добавить новую ветку, ее нужно создать в вашем удаленном репозитории и передать изменения. После этого вы сможете выбрать одну из двух (или более) активных веток в Plesk. Перейдите на страницу Сайты и домены > Git, нажмите Изменить ветку и путь и выберите ветку в открывшемся окне в меню Ветка.

Git_remote_new_branch

Когда вы выберете новую ветку и нажмете ОК, Plesk покажет новую активную ветку.

Git_remote_branch

Изменение пути для развертывания

По умолчанию, для публикации файлов Git на вашем сайте используется папка /httpdocs. Если вы хотите изменить путь для развертывания, перейдите на страницу Сайты и домены > Git, нажмите ссылку Изменить ветку и путь и выберите новую папку в открывшемся окне.

Git_remote_change_folder

 

Выбор режима развертывания

Вы можете выбрать режим развертывания для своего репозитория. Перейдите на страницу Сайты и домены > Git, нажмите Настройки репозитория и выберите одну из опций в меню Выбрать режим развертывания:

  • Автоматическое развертывание. Выберите его, если хотите, чтобы Plesk сразу же разворачивал все изменения на рабочем сайте.
  • Развертывание вручную. В этом случае вам придется вручную развертывать файлы, нажимая кнопку Развернуть из репозитория на странице Сайты и домены > Git. Также можно вручную развернуть файлы, нажав кнопку Развернуть возле названия репозитория на странице Сайты и домены.
  • Без развертывания (хостинг репозитория). В этом случае файлы не будут развернуты на рабочем сайте. Эту опцию можно использовать, например, когда вы хотите использовать репозиторий Git только для обмена или хранения кода.

    Git_remote_deploy_mode

 

Использование веб-хуков для автоматического получения

Для настройки уведомлений Plesk удаленным репозиторием об определенных событиях (например, передача файлов в репозиторий) можно использовать веб-хуки. Дополнительную информацию об управлении веб-хуками смотрите в документации к BitBucket и GitHub.

Адрес для веб-хука репозитория создается автоматически. Чтобы увидеть адрес для веб-хука, нажмите Настройки репозитория.

Git_remote_webhook

Скопируйте адрес для веб-хука, добавьте в свой удаленный репозиторий и настройте его на срабатывание при передаче данных в репозиторий. В результате каждый раз, когда файл передается в удаленный репозиторий, Plesk будет получать уведомление об этом событии и автоматически получать файлы, так что вам не придется нажимать кнопку Получить обновления. Если для репозитория настроено автоматическое развертывание, полученные файлы будут тут же развернуты на сайте.

Примечание. Если для защиты Plesk используется самозаверенный сертификат, веб-хук может не сработать при вызове через протокол HTTPS из-за проблем в подтверждении установления связей SSL/TLS. Если это происходит, укажите протокол HTTP в URL веб-хука.

 

Включение дополнительных действий развертывания

Часто публикации сайта недостаточно для его полного развертывания. Например, при использовании таких платформ, как Ruby on Rails, вам может потребоваться выполнить задачу по переносу данных после развертывания с помощью подобной команды: bin/rails db:migrate.

В Plesk существует возможность определить дополнительные команды, которые должны выполняться каждый раз после развертывания файлов на сайте.

Перейдите на страницу Сайты и домены > Git, нажмите Настройки репозитория, выберите Включить дополнительные действия развертывания и укажите shell-команды, которые должны выполняться каждый раз после развертывания из этого репозитория. Каждую команду нужно начинать с новой строки.

Git_remote_actions

Примечание. Если системному пользователю домена запрещен доступ по SSH в Linux, все указанные команды будут выполняться в chrooted-окружении. Домашняя папка системного пользователя подписки является корневой папкой файловой системы для этой подписки, и могут быть запущены только исполняемые файлы из ограниченной среды chroot. Например, если путь к вашему сайту /var/www/vhosts/example.com/httpdocs, то в chrooted-окружении этот путь будет ./httpdocs, таким образом, вы не сможете выполнять команды за пределами одного уровня выше папки /httpdocs.

 

Просмотр журналов записи изменений в репозиторий

Для просмотра всей истории записи изменений в репозиторий для текущей ветки, перейдите на страницу Сайты и домены > Git и нажмите ссылку Журналы записи изменений в репозиторий. Для каждой записи изменений показывается следующая информация: время, уникальный идентификатор, имя пользователя и сообщение о записи изменений. Нажмите Обновить, чтобы обновить журнал записи изменений.

Git_remote_commit_log

Вы можете использовать фильтры по любому из параметров для поиска в журнале записи изменений. Например, вы можете найти все записи изменений, сделанные определенным пользователем начиная с определенной даты. Нажмите кнопку Git_Commit_Logs_search_Buttom, введите параметры поиска и нажмите Поиск.

Git_remote_commit_log_filter

 

Переименование или удаление репозитория

Вы в любое время можете переименовать репозиторий. Например, завершив развертывание, вы можете захотеть переименовать репозиторий из website-dev в website, чтобы не запутаться. Перейдите на страницу Сайты и домены > Git, нажмите Настройки репозитория, и укажите новое имя в поле Имя репозитория.

Чтобы удалить репозиторий, нажмите Удалить репозиторий на странице Git. В этом случае Plesk удалит только репозиторий, целевая папка с опубликованными данными останется.

 

Leave your feedback on this topic here

If you have questions or need support, please visit the Plesk forum or contact your hosting provider.
The comments below are for feedback on the documentation only. No timely answers or help will be provided.