Гибкий и при этом простой в настройке и использовании способ для деплоя своего кода из репозитория на сервер.
Первым шагом нам нужно создать ключ для доступа. Вначале создаем ключ. Выполняем команду:
Можно задать имя файла и 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 - приватная часть ключа, который мы сформировали
После этого можно загрузить обновления и проверить выполнение скрипта:
Читайте также
Установка Laravel Echo в Ubuntu 20.04 через Socket.io (без Pusher)
Уведомления о новых событиях, реализация чатов, обновление UI при изменении данных на сервере… С помощью Laravel Echo можно решать огромное количество задач. Но часто реализацию этих функций делают с помощью платных сервисов, таких как Pusher. Попробуем сделать это по-другому. В этой статье мы запустим Laravel Echo на локальной Windows машине (на WSL2) и на прод. сервере с Ubuntu 20.04. И все это без платного стороннего ПО.Как не утонуть в правках: гайд по эффективной коммуникации с разработчиками
Эта статья - практический гайд по тому, как наладить эффективную коммуникацию между заказчиком и разработчиком. Вы узнаете, как избежать хаоса в правках, формулировать задачи понятно и проверяемо, минимизировать технический долг и сохранить фокус команды. Подходит для менеджеров, дизайнеров, контентщиков и всех, кто работает с IT-командами.Все про индексацию в поисковых системах: robots.txt, sitemap.xml, RSS-фиды, микроразметка
Поисковые системы используют специальные алгоритмы и краулеры, чтобы решать: какую страницу просканировать, какую проигнорировать, и как её классифицировать в своей огромной базе данных. Правильная настройка технических параметров - от robots.txt до микроразметки - помогает направить этих роботов туда, где действительно важно. В этой статье мы разберём, как работает индексация, какие инструменты позволяют контролировать ее, и как превратить технические тонкости в реальные преимущества для вашего сайта.