Интересное

Автоматический деплой проекта с использованием 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

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

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

Может ли робот обрести сознание? И если обретет, то как мы об этом узнаем?

Разработка #Технологии #Тренды #Нейросети #Наука #Разбор Часть экспертов считает, что люди могут запросто создать разумного робота и понять,...

Что такое Data Science

Разработка #Облачные решения #Обзор #Технологии #Аналитика #Карьера Поговорим о том, что такое Data Science, почему она так важна...

Как настроить Sublime Text 3

Разработка #Программы #Редакторы кода #JavaScript #HTML/CSS Sublime Text 3 – это текстовый редактор, разработанный для верстальщиков и программистов....

Как создать краудфандинговый сайт на базе WordPress

Выбираем плагин Переходим к главному – выбору краудфандингового плагина. Здесь есть варианты. Charitable Это бесплатный плагин для сбора...

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

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

Язык программирования C#: краткая история, возможности и перспективы

Разработка #C/C#/C++ #Программы #Обзор Обзорная статья на тему С#. Кратко рассказываем о том, зачем этот язык нужен, где его...

Как сделать приложение из веб-сайта

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

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

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

Что такое JavaScript: назначение, особенности и сферы применения языка

Разработка #Браузеры #Разбор #JavaScript #HTML/CSS Интерактивные элементы сайтов и мобильных приложений часто выполняются на языке JavaScript. Он хорошо...

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

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

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

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

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

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

В Windows 11 добавится поддержка USB 4 2.0 со скоростью передачи данных до 80 Гбит/с

Новости #Обновления #Windows Реклама. ООО «ТаймВэб». erid: LjN8K8PQJ Корпорация Microsoft начала распространять пакет функциональных обновлений KB5034848 для Windows 11...

Руководство по разработке приложений: как сделать приложение для iOS и Android самостоятельно

Разработка #Конверсия #Подборка #Разбор #UX/UI #Конструктор Разработка мобильного приложения от А до Я – это довольно долгая и...

Как создать рекламный сайт

Разработка #Монетизация #Реклама #Конструктор Рекламный сайт – это ресурс, нацеленный на продажу товаров или услуг. Вся информация, находящаяся...

Как пользоваться редактором Atom

Разработка #GitHub #Редакторы кода #HTML/CSS #PHP Atom – это многофункциональный текстовый редактор от разработчиков GitHub. Он поддерживает огромное...

CMS, фреймворк или собственная разработка: что выбрать?

CMS CMS – система управления контентом. Распространяется на бесплатной или платной основе. Подойдет для проектов: с небольшой нагрузкой;...

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

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

Что такое Progressive Web Apps и в чем их преимущества

Разработка #Программы #JavaScript #HTML/CSS #Оптимизация Progressive Web Apps (PWA) — это сайты, которые похожи на приложения для смартфонов не только...