Гибкий и при этом простой в настройке и использовании способ для деплоя своего кода из репозитория на сервер.
Первым шагом нам нужно создать ключ для доступа. Вначале создаем ключ. Выполняем команду:
Можно задать имя файла и passphrase. Будем использовать /home/ilavista/.ssh/github_rsa без passphrase:
Далее нам нужно создать Deploy key на GitHub. Идем по пути Settings > Deploy keys.
И нажимаем Add deploy key. Нужно скопировать ключ. Для этого выполним команду:
И копируем содержимое файла в поле Key
Итоговый результат:
Далее нам нужно добавить этот ключ в файл /home/ilavista/.ssh/authorized_keys
Вставляем ключ и сохраняем файл.
Теперь создадим файл конфигурации для загрузки из репозитория без использования пароля.
Содержимое файла:
Вторым шагом нам необходимо создать config файл, который опишет последовательность действий, выполняемых GitHub Actions. Файл должен размещаться в директории .github/workflows. Команда для создания директории через терминал:
Далее необходимо создать конфигурационный файл. В этом примере мы будем производить деплой при изменениях в dev ветке проекта, поэтому я назову файл по имени ветки:
Вот пример файла, который производит компиляцию и загружает изменения на сервер.
В файле используются переменные. Нам необходимо их добавить переменные в наш репозиторий. Для этого переходим во вкладку Settings > Secrets and variables > Actions
Далее создадим три новые переменные
HOST - адрес сервера (или доменное имя проекта, привязанное к серверу)
USER - пользователь, от имени которого мы подключаемся к серверу
PRIVATE_KEY - приватная часть ключа, который мы сформировали
После этого можно загрузить обновления и проверить выполнение скрипта:
Читайте также
Смена команды. Как реанимировать проект, не переписывая его с нуля. Гайд по шагам
Когда в проект приходит новая команда, это всегда стресс: для бизнеса - страх потерять контроль, для разработчиков - страх утонуть в чужом коде. Часто звучит приговор: «Проще переписать всё с нуля». Но это не единственный путь. На самом деле, смена команды - это шанс. Шанс на переосмысление, на улучшение процессов, на второе дыхание проекта. В этой статье мы разберёмся, как реанимировать унаследованный код, не разрушая его, а укрепляя - шаг за шагом.Кроссплатформенная разработка мобильных приложений на Flutter
Кроссплатформенная разработка - это процесс создания программного обеспечения, которое может работать на разных операционных системах и/или архитектурах процессоров. Она позволяет разработчикам создавать приложения, используя единый код, который может быть скомпилирован для разных платформ. В этой статье мы более подробно рассмотрим кроссплатформенную разработку на Flutter и ее преимущества.Установка локального WSL2 сервера (Ubuntu, Nginx, PHP, MySQL)
В этой статье мы настроим рабочее окружение для разработки веб-проектов на основе Windows Subsystem for Linux (WSL2). Данный подход намного более гибкий, чем установка готовых пакетов, например WAMP или Open Server. Он также проще и не так сильно нагружает систему, как Docker или создание отдельных виртуальных машин.