Гибкий и при этом простой в настройке и использовании способ для деплоя своего кода из репозитория на сервер.
Первым шагом нам нужно создать ключ для доступа. Вначале создаем ключ. Выполняем команду:
Можно задать имя файла и 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 - приватная часть ключа, который мы сформировали
После этого можно загрузить обновления и проверить выполнение скрипта:
Читайте также
Как ускорить загрузку страниц интернет-магазина: от изображений до серверов
Интернет-магазины, которые не успевают загрузиться за считанные секунды, рискуют потерять не только потенциальных клиентов, но и позиции в поисковой выдаче. Скорость загрузки сайта - это не просто технический параметр, а стратегический фактор, влияющий на SEO, поведенческие метрики и, в конечном итоге, на прибыль.
Развертывание Laravel проекта на сервере Ubuntu 20.04
Если вы хотите развернуть свой Laravel проект на удаленном сервере, то вам нужно выполнить ряд шагов, чтобы установить все необходимые зависимости и настроить окружение. В этой статье мы рассмотрим процесс развертывания Laravel проекта на сервере Ubuntu 20.04 и дадим вам подробные инструкции, как это сделать.
Unit-тестирование. Преимущества для бизнеса и команды разработки
В статье рассматривается один из видов тестирования программного обеспечения - Unit-тестирование. Оно позволяет проверять каждый модуль приложения на предмет соответствия требованиям и правильной работы, изолируя его от других компонентов. В данной статье мы рассмотрим преимущества Unit-тестирования для бизнеса и команды разработки, а также приведем пример Unit-теста для Laravel приложения.