Автоматический деплой проекта с использованием 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. Это значительно упрощает и ускоряет процесс развертывания проекта, освобождая вас от рутинных задач и позволяя сконцентрироваться на разработке.

Межтекстовые Отзывы
Посмотреть все комментарии
guest

Как установить Git на Debian 10

Разработка #Серверы #OpenSource #Debian Система контроля версий (например, Git) позволяет регистрировать изменения в файлах, с которыми работают разработчики,...

7 самых популярных фреймворков JavaScript

Разработка #Фреймворки #Обзор #JavaScript Статья посвящена самым популярным фреймворкам, библиотекам и инструментам JavaScript. Каждый из них может значительно облегчить...

Что такое объектно-ориентированное программирование

Разработка #C/C#/C++ #Программы #Обзор #JavaScript Рассказываю об одной из важнейших парадигм в программировании.  Парадигмы программирования и их виды...

Двумерные массивы в Python и методы работы с ними

Разработка #Разбор #Python Иногда нам приходится использовать таблицы с данными для решения своих задач. Такие таблицы называются матрицами...

Как безопасно удалить неиспользуемый CSS в WordPress

Разработка #Плагины #WordPress #HTML/CSS #Оптимизация Неиспользуемый CSS – это код, который загружается при открытии страницы, но фактически не...

11 лучших приложений для изучения программирования

Разработка #C/C#/C++ #Программы #Сервисы #Подборка #JavaScript Рассказываем о лучших приложениях для смартфонов, которые помогут обучиться программированию и веб-разработке. ...

Что такое виджет и как им пользоваться

Разработка #Веб-дизайн #JavaScript #Оптимизация #Windows Разработчики софта и владельцы сайтов стараются упростить процесс взаимодействия со своим продуктом. Одним из...

Обзор лучших WYSIWYG-редакторов

Разработка #Обзор #Контент #JavaScript #OpenSource Рассматриваем лучшие текстовые WYSIWYG-редакторы, которые можно встроить на сайты и в веб-приложения. Полнофункциональные, быстрые...

10 лучших конструкторов сайтов

Разработка #Веб-дизайн #Сервисы #Подборка #HTML/CSS #Конструктор Конструктор сайтов – это специальный сервис, позволяющий создать сайт без помощи программистов и...

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

Разработка #FTP #GitHub #Хостинг В этой статье мы рассмотрим процесс создания репозитория на GitHub и настройки автоматического деплоя...

Работа в IT: современные тенденции

Разработка #Технологии #Карьера #Менеджмент #Разбор Работа в IT-сфере как была перспективным направлением и путем к успешной карьере, так...

Основные элементы эффективной стратегии конверсии: UX, SEO и CRO

Автор: Питер Джоубс (Peter Jobes) – контент-менеджер, Solvid Digital. По мере выстраивания онлайн-присутствия бизнеса в интернете, применяемые маркетинговые стратегии...

Сравнение VPS и облачного хостинга для Bitrix

В современном мире веб-технологий выбор между VPS (виртуальным частным сервером) и облачным хостингом для системы управления контентом, такой...

Сравнение 29 сервисов аналитики маркетплейсов: обзор, рейтинг

Обзор сервисов аналитики маркетплейсов Сравнение 29 сервисов аналитики маркетплейсов по 10 параметрам. Обзор, рейтинг лучших сервисов для аналитики...

Преимущества и недостатки CMS 1С-Битрикс

Разработка #1С #Обзор #Интернет-магазин #Веб-дизайн #Bitrix 1С-Битрикс – одна из самых популярных CMS, на которой работают тысячи сайтов....

Как создать сайт на WordPress с нуля

Разработка #Настройка #WordPress #Базы данных #Оптимизация Поговорим о том, как создать сайт на базе WordPress и Timeweb. Сайт,...

GitHub включил по умолчанию механизм защиты от утечек данных

Новости #GitHub #Сервисы #Безопасность Реклама. ООО «ТаймВэб». erid: LjN8K4hV8 Сервис GitHub включил защиту от попадания в публичный репозиторий приватных...

Руководство по работе с Kubernetes для начинающих

Разработка #Серверы #Настройка #Docker #Ubuntu #CentOS Kubernetes – это портативная расширяемая платформа для управления контейнерами на серверах. Она...

Как стать геймдизайнером: начало пути

Разработка #Карьера #Менеджмент #Игры Поговорим о том, кто такой геймдизайнер, чем он занимается и как им стать. Чем...

Как обучиться программированию на любом языке

Разработка #C/C#/C++ #Карьера #Веб-дизайн #Разбор #HTML/CSS Поговорим о том, что нужно делать разработчику, чтобы освоить любой язык программирования...