Интересное

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

Как измерить и повысить вовлечённость пользователей сайта

Автор: Виталий Купренко ­– маркетинговый копирайтер, компания по разработке мобильных и веб-приложений Cleveroad. Согласно исследованию Gallup, полностью вовлечённые...

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

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

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

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

5 главных способов привлечения клиентов из карт и отзывиков

Бизнес #Продажи #Предпринимательство #SEO Реклама. ООО «ТаймВэб». erid: LjN8KQs4Z Мы в MyReviews делаем инструменты для мониторинга и улучшения рейтинга...

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

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

Метатег viewport: почему он важен и как его правильно использовать

Разработка #Настройка #HTML/CSS #Оптимизация Viewport — это область, которую видит пользователь на экране, когда заходит на страницу сайта...

Лучшие IDE и редакторы кода для Python

Разработка #Программы #IDE #Редакторы кода #Python Писать программный код можно хоть карандашом на листке бумаги. Рационально ли это?...

Как создать туристический сайт

Разработка #Веб-дизайн #Контент #Конструктор Туристический сайт – это важный интернет-источник для людей, планирующих путешествия. Его основная цель – познакомить...

Как правильно подключить CSS к HTML

Разработка #Настройка #HTML/CSS Рассмотрим, как применить CSS к сайтам и приложениям.  CSS – это таблица стилей. От нее зависит...

Как создать одностраничный сайт на Bootstrap (Mobirise)

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

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

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

Что почитать программисту: 10 популярных книг по разработке

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

10 лучших IDE

Разработка #C/C#/C++ #Ubuntu #Java #JavaScript #HTML/CSS #PHP #Python #Windows IDE (Integrated Development Environment) – это интегрированная, единая среда...

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

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

Создание email рассылок на Joomla

Создание почтовых рассылок – это эффективный способ рекламы и привлечения внимания к своему сайту. Я уже рассказывала о...

Как пользоваться Visual Studio Code

Разработка #IDE #Редакторы кода #Программы #Обзор #Windows Visual Studio Code – это один из наиболее популярных редакторов кода,...

Преимущества и недостатки WordPress

Разработка #Обзор #WordPress WordPress довольно старая система управления содержимым сайтов (сокращенно — CMS), вебмастера и администраторы с ней...

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

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

Push-уведомления: типы, назначение, советы по созданию

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

Виды алгоритмов сортировки в Python

Разработка #Обзор #Редакторы кода #Python В одной из прошлых статей я рассматривал списки в Python, а также затронул их сортировку....