Реклама ООО Таймвэб
Реклама ООО Таймвэб

Автоматический деплой проекта с использованием GitHub и FTP на хостинг Timeweb

Обсудить
Автоматический деплой проекта с использованием GitHub и FTP на хостинг Timeweb

В этой статье мы рассмотрим процесс создания репозитория на GitHub и настройки автоматического деплоя проекта на хостинг с использованием локального сервера и FTP. Этот подход позволит нам автоматизировать процесс деплоя и упростить развертывание проекта на удаленном сервере.

Шаг 1: Создание репозитория на GitHub

Первым шагом является создание нового репозитория на GitHub. Для этого перейдите на https://github.com, войдите в свою учетную запись и нажмите кнопку «New» (Создать). Задайте имя репозитория, описание и выберите настройки видимости (public или private). Нажмите кнопку «Create repository» (Создать репозиторий).

Шаг 2: Настройка локального проекта

Далее нам нужно настроить локальный проект и его репозиторий для связи с удаленным репозиторием на GitHub. Для этого выполните следующие действия:

  1. Откройте терминал или командную строку.

  2. Перейдите в корневую директорию вашего проекта с помощью команды cd <путь_к_проекту>

  3. Инициализируйте локальный репозиторий с помощью команды git init

  4. Свяжите локальный репозиторий с удаленным репозиторием на GitHub, используя команду git remote add origin <URL_удаленного_репозитория> Замените <URL_удаленного_репозитория> на URL вашего репозитория на GitHub. Например, «https://github.com/Stacss/like-feedback.git»

  5. Добавьте и зафиксируйте ваш проект в локальном репозитории с помощью команд git add . и git commit -m "Первоначальный коммит"Вместо "Первоначальный коммит" вы можете использовать любое сообщение коммита, описывающее ваше начальное состояние проекта.

  6. Отправьте ваш локальный репозиторий на GitHub с помощью команды git push -u origin master

Шаг 3: Настройка автоматического деплоя с помощью GitHub Actions и FTP

Теперь настало время настроить автоматический деплой с локального сервера на ваш хостинг через FTP. Мы будем использовать инструмент Continuous Integration (CI) под названием GitHub Actions для выполнения этой задачи. Далее следуем шагам:

  1. В вашем репозитории на GitHub откройте вкладку «Actions» (Действия).

  2. Нажмите на «Set up a workflow yourself» (Создать собственный workflow).

  3. Замените содержимое файла на следующий код, который определяет действие для автоматического деплоя проекта на хостинг:

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/.

  1. Нажмите на кнопку «Start commit» (Начать коммит), введите сообщение коммита (например, «Добавление автоматического деплоя на хостинг») и нажмите на кнопку «Commit new file» (Зафиксировать новый файл).

  2. Теперь нам нужно добавить секреты для защиты ваших учетных данных FTP. Для этого перейдите во вкладку «Settings» (Настройки) вашего репозитория на GitHub.

  3. В левой панели выберите «Secrets and variables», далее – «Actions».

  4. Нажмите на кнопку «New repository secret» (Новый секрет репозитория).

  5. Создайте три секрета с именами FTP_SERVER, FTP_USERNAME, FTP_PASSWORD. При создании введите соответствующие учетные данные FTP в поля «Value» (Значение) каждого секрета из админпанели личного кабинета Timeweb, где FTP_SERVER – это хост, FTP_USERNAME – это логин, FTP_PASSWORD – пароль.

  6. Убедитесь, что все три секрета (FTP_SERVER, FTP_USERNAME и FTP_PASSWORD) были добавлены и сохранены.

Поздравляю! Теперь ваш репозиторий настроен для автоматического деплоя проекта на хостинг каждый раз, когда вы делаете push в ветку master, GitHub Actions будет запускать ваш workflow, который клонирует репозиторий и автоматически деплоит проект на ваш хостинг с использованием FTP.

Обратите внимание, что вы можете настроить этот процесс деплоя более подробно, добавив дополнительные шаги или настройки в ваш workflow. Это позволяет адаптировать его под ваши конкретные потребности и требования.

Теперь вы можете наслаждаться автоматическим деплоем проекта на хостинг с локального сервера при каждом push в ваш репозиторий на GitHub. Это значительно упрощает и ускоряет процесс развертывания проекта, освобождая вас от рутинных задач и позволяя сконцентрироваться на разработке.

Hello World! Гайды и обзоры для девелоперов разных мастей.

Комментарии

С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
С помощью соцсетей
У меня уже есть аккаунт Войти
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте