Деплой проекта с использованием GitHub и FTP
- 21 ноября, 2024
- 4:03 пп
- Нет комментариев
Настройка автоматического деплоя с помощью GitHub Actions и FTP
Теперь настало время настроить автоматический деплой с локального сервера на ваш хостинг через FTP. Мы будем использовать инструмент Continuous Integration (CI) под названием GitHub Actions для выполнения этой задачи. Далее следуем шагам:
-
В вашем репозитории на GitHub откройте вкладку «Actions» (Действия).
-
Нажмите на «Set up a workflow yourself» (Создать собственный workflow).
-
Замените содержимое файла на следующий код, который определяет действие для автоматического деплоя проекта на хостинг:
name: Deploy to Hosting
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Deploy to Hosting
uses: SamKirkland/FTP-Deploy-Action@4.0.0
with:
server: ${{ secrets.FTP_SERVER }}
username: ${{ secrets.FTP_USERNAME }}
password: ${{ secrets.FTP_PASSWORD }}
server-dir: //здесь нужно указать папку вашего проекта на хостинге
Путь к проекту server-dir указывать в формате mysite.ru/public_html/.
-
Нажмите на кнопку «Start commit» (Начать коммит), введите сообщение коммита (например, «Добавление автоматического деплоя на хостинг») и нажмите на кнопку «Commit new file» (Зафиксировать новый файл).
-
Теперь нам нужно добавить секреты для защиты ваших учетных данных FTP. Для этого перейдите во вкладку «Settings» (Настройки) вашего репозитория на GitHub.
-
В левой панели выберите «Secrets and variables», далее – «Actions».
-
Нажмите на кнопку «New repository secret» (Новый секрет репозитория).
-
Создайте три секрета с именами FTP_SERVER, FTP_USERNAME, FTP_PASSWORD. При создании введите соответствующие учетные данные FTP в поля «Value» (Значение) каждого секрета из админпанели личного кабинета Timeweb, где FTP_SERVER – это хост, FTP_USERNAME – это логин, FTP_PASSWORD – пароль.
-
Убедитесь, что все три секрета (
FTP_SERVER
FTP_USERNAME
FTP_PASSWORD
Поздравляю! Теперь ваш репозиторий настроен для автоматического деплоя проекта на хостинг каждый раз, когда вы делаете push в ветку master, GitHub Actions будет запускать ваш workflow, который клонирует репозиторий и автоматически деплоит проект на ваш хостинг с использованием FTP.
Обратите внимание, что вы можете настроить этот процесс деплоя более подробно, добавив дополнительные шаги или настройки в ваш workflow. Это позволяет адаптировать его под ваши конкретные потребности и требования.
Теперь вы можете наслаждаться автоматическим деплоем проекта на хостинг с локального сервера при каждом push в ваш репозиторий на GitHub. Это значительно упрощает и ускоряет процесс развертывания проекта, освобождая вас от рутинных задач и позволяя сконцентрироваться на разработке.