В этой статье мы рассмотрим процесс создания репозитория на GitHub и настройки автоматического деплоя проекта на хостинг с использованием локального сервера и FTP. Этот подход позволит нам автоматизировать процесс деплоя и упростить развертывание проекта на удаленном сервере.
Шаг 1: Создание репозитория на GitHub
Первым шагом является создание нового репозитория на GitHub. Для этого перейдите на https://github.com, войдите в свою учетную запись и нажмите кнопку «New» (Создать). Задайте имя репозитория, описание и выберите настройки видимости (public или private). Нажмите кнопку «Create repository» (Создать репозиторий).
Шаг 2: Настройка локального проекта
Далее нам нужно настроить локальный проект и его репозиторий для связи с удаленным репозиторием на GitHub. Для этого выполните следующие действия:
-
Откройте терминал или командную строку.
-
Перейдите в корневую директорию вашего проекта с помощью команды
cd <путь_к_проекту>
-
Инициализируйте локальный репозиторий с помощью команды
git init
-
Свяжите локальный репозиторий с удаленным репозиторием на GitHub, используя команду
git remote add origin <URL_удаленного_репозитория>
Замените<URL_удаленного_репозитория>
на URL вашего репозитория на GitHub. Например, «https://github.com/Stacss/like-feedback.git» -
Добавьте и зафиксируйте ваш проект в локальном репозитории с помощью команд
git add .
иgit commit -m "Первоначальный коммит"
Вместо"Первоначальный коммит"
вы можете использовать любое сообщение коммита, описывающее ваше начальное состояние проекта. -
Отправьте ваш локальный репозиторий на GitHub с помощью команды
git push -u origin master
Шаг 3: Настройка автоматического деплоя с помощью 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. Это значительно упрощает и ускоряет процесс развертывания проекта, освобождая вас от рутинных задач и позволяя сконцентрироваться на разработке.
Комментарии