Настройка деплоя через GitHub Actions с другого репозитория пошаговая инструкция

GitHub Actions — это мощный инструмент, который позволяет автоматизировать различные задачи в репозитории на GitHub. Отправка изменений на сервер стала более легкой и быстрой благодаря использованию Actions. В этой статье мы рассмотрим инструкцию по настройке деплоя через GitHub Actions с использованием другого репозитория.

Деплой — это процесс, при котором ваши изменения и обновления передаются вживую на сервер. Деплой через GitHub Actions позволяет автоматизировать этот процесс, что экономит время разработчиков и улучшает процесс разработки. Нативная интеграция GitHub Actions с вашим репозиторием позволяет задействовать различные инструменты и сервисы для деплоя, включая другие репозитории.

Настройка деплоя с другого репозитория возможна благодаря гибкости GitHub Actions. Сначала вам необходимо создать Workflow файл, который будет описывать ваш деплой процесс. В этом Workflow файле вы указываете ссылку на ваш другой репозиторий, определяете условия и шаги для деплоя. GitHub Actions выполнит все заданные вами инструкции при каждом обновлении вашего репозитория.

Настройка деплоя через GitHub Actions:

Деплой — это процесс развертывания вашего приложения на сервере или платформе, чтобы оно было доступно для использования. Для упрощения этого процесса GitHub Actions предоставляет возможность создавать и настраивать рабочие процессы, которые выполняют деплой вашего приложения каждый раз, когда вы пушите изменения в репозиторий.

Чтобы настроить деплой через GitHub Actions, вам понадобится файл в вашем репозитории с именем «.github/workflows/main.yml». В этом файле вы определите шаги, которые должны быть выполнены при деплое вашего приложения.

Пример конфигурации для деплоя приложения на сервер:


name: Deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: 14
- name: Install dependencies
run: npm install
- name: Build application
run: npm run build
- name: Deploy to server
uses: easingthemes/ssh-deploy@v2.1.9
with:
server: ${{ secrets.SERVER }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
source: build/
target: /var/www/html/

В этом примере используется действие «actions/checkout», которое клонирует репозиторий с кодом. Далее, с помощью «actions/setup-node», настраивается Node.js. Затем выполняются команды «npm install» и «npm run build» для установки зависимостей и сборки приложения. Наконец, действие «easingthemes/ssh-deploy» используется для выполнения деплоя на сервер.

Важно заменить значения переменных окружения, такие как «secrets.SERVER», «secrets.USERNAME» и «secrets.PASSWORD», соответствующими значениями вашего сервера и учетными данными.

После того, как вы создали и настроили файл «.github/workflows/main.yml», GitHub Actions автоматически запустит данный рабочий процесс каждый раз, когда вы пушите изменения в репозиторий. Таким образом, ваше приложение будет автоматически деплоиться на сервер.

Настройка деплоя через GitHub Actions значительно упрощает процесс развертывания вашего приложения. Она позволяет автоматизировать и контролировать процесс деплоя, что повышает эффективность разработки и минимизирует возможность ошибок.

Шаг 1: Регистрация аккаунта на GitHub

Прежде чем настраивать деплой через GitHub Actions, вам потребуется зарегистрировать аккаунт на GitHub. Если у вас уже есть аккаунт, можно пропустить этот шаг.

Перейдите на сайт GitHub по адресу https://github.com и нажмите кнопку «Sign up» (Регистрация). Заполните необходимые поля, включая имя пользователя, адрес электронной почты и пароль. Затем нажмите кнопку «Create account» (Создать аккаунт).

После регистрации вам может быть предложено выбрать план, но для настройки деплоя через GitHub Actions достаточно бесплатного аккаунта.

После регистрации и выбора плана вы будете перенаправлены на главную страницу вашего аккаунта на GitHub.

Шаг 2: Создание репозитория

Для настройки деплоя через GitHub Actions с другого репозитория, необходимо создать новый репозиторий, который будет использоваться в качестве целевого.

Чтобы создать новый репозиторий:

  1. Войдите в свой аккаунт на GitHub и на странице вашего профиля нажмите кнопку «New» (Создать).
  2. Введите название репозитория и описание (по желанию).
  3. Выберите опции видимости и инициализации репозитория (если требуется).
  4. Нажмите кнопку «Create repository» (Создать репозиторий).

Теперь у вас есть новый репозиторий, который вы можете использовать для настройки деплоя через GitHub Actions с другого репозитория. В следующем шаге мы будем настраивать деплой на данном репозитории.

Шаг 3: Установка локального Git-клиента

Перед настройкой деплоя через GitHub Actions с другого репозитория, вам необходимо установить локальный Git-клиент на ваш компьютер. Git-клиент будет использоваться для выполнения различных команд и операций с репозиторием.

Вот несколько популярных Git-клиентов, которые вы можете использовать:

  • Git – официальный клиент Git с открытым исходным кодом, доступный для Windows, macOS и Linux.
  • SourceTree – удобный графический клиент Git, с поддержкой Windows и macOS.
  • GitHub Desktop – официальное приложение GitHub с графическим интерфейсом, доступное для Windows и macOS.

Выберите Git-клиент, который наиболее удобен для вас, и следуйте инструкциям по установке на вашу операционную систему.

Шаг 4: Создание SSH-ключей

Чтобы настроить деплой через GitHub Actions с другого репозитория, вам необходимо создать SSH-ключи, которые будут использоваться для авторизации при доступе к удаленному серверу. В данном разделе мы рассмотрим процесс создания SSH-ключей.

1. Откройте терминал на вашем локальном компьютере.

2. Введите следующую команду в терминале:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • -t rsa: указывает тип алгоритма шифрования, в данном случае RSA.
  • -b 4096: указывает длину ключа в битах. Рекомендуется использовать значение 4096 для повышенной безопасности.
  • -C "your_email@example.com": замените «your_email@example.com» на вашу электронную почту.

3. Нажмите Enter, чтобы пропустить имя файла и место сохранения, и просто нажмите Enter, чтобы принять значения по умолчанию.

4. После этого вы получите два файла: id_rsa (приватный ключ) и id_rsa.pub (публичный ключ). Приватный ключ должен быть хранится в безопасном месте и не должен распространяться.

5. Далее нам необходимо добавить публичный ключ на удаленный сервер. Для этого выполните следующую команду:

ssh-copy-id -i ~/.ssh/id_rsa.pub username@remote_server

Замените username на ваше имя пользователя на удаленном сервере и remote_server на адрес вашего удаленного сервера.

6. Введите пароль пользователя на удаленном сервере и нажмите Enter.

После выполнения всех указанных выше шагов, SSH-ключи будут созданы и добавлены на удаленный сервер. Теперь вы можете использовать их для настройки деплоя через GitHub Actions.

Шаг 5: Клонирование репозитория

После успешной настройки и проверки работы GitHub Actions, следующим шагом будет клонирование репозитория с исходным кодом проекта. Для этого нам потребуется выполнить следующие действия:

  1. Откройте GitHub Actions Workflow, который вы создали в предыдущих шагах.
  2. Добавьте новый шаг (step) к workflow для клонирования вашего репозитория.
  3. В файле workflow.yml найдите раздел jobs: и добавьте следующий код:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2

В этом коде мы используем действие checkout@v2, которое позволяет клонировать репозиторий. Добавленный шаг Checkout repository выполнит необходимые действия для клонирования репозитория с исходным кодом.

После добавления этого шага и сохранения изменений, GitHub Actions автоматически выполнит клонирование репозитория перед продолжением выполнения workflow.

Шаг 6: Настройка GitHub Actions для деплоя

GitHub Actions предоставляет удобный способ автоматизировать процесс деплоя вашего приложения. Чтобы настроить деплой через GitHub Actions из другого репозитория, выполните следующие шаги:

  1. Откройте файл .github/workflows/deploy.yml в вашем репозитории.
  2. Добавьте следующий код в файл deploy.yml:
name: Deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Deploy to production
uses: "your-username/your-repo@v1"
with:
production-url: ${{ secrets.PRODUCTION_URL }}
deploy-token: ${{ secrets.DEPLOY_TOKEN }}

В строке production-url: ${{ secrets.PRODUCTION_URL }} замените your-username/your-repo на адрес вашего репозитория, в котором будет происходить деплой.

В строке production-url: ${{ secrets.PRODUCTION_URL }} замените secrets.PRODUCTION_URL на имя секрета, в котором хранится адрес вашего продакшн сервера, на который будет происходить деплой.

В строке deploy-token: ${{ secrets.DEPLOY_TOKEN }} замените secrets.DEPLOY_TOKEN на имя секрета, в котором хранится токен доступа для деплоя.

Сохраните изменения и закройте файл.

Теперь GitHub Actions будет автоматически запускать задачу деплоя при каждом пуше на ветку main вашего репозитория.

Шаг 7: Настройка деплоя с другого репозитория

Для настройки деплоя с другого репозитория в GitHub Actions, необходимо выполнить следующие шаги:

ШагОписание
1Откройте файл с настройками вашего репозитория в GitHub.
2Перейдите во вкладку «Actions» и выберите нужный workflow.
3Нажмите на кнопку «Edit» в правом верхнем углу экрана.
4Найдите блок кода, отвечающий за настройку деплоя.
5Замените ссылку на репозиторий в настройках деплоя на ссылку вашего репозитория.
6Сохраните изменения.
7Вернитесь на страницу с workflow и запустите его, нажав на кнопку «Run workflow».

После выполнения этих шагов, GitHub Actions будет настраивать деплой из другого репозитория. Вам останется только следить за процессом выполнения деплоя и анализировать результаты.

Шаг 8: Проверка и запуск деплоя

После того, как вы успешно настроили деплой через GitHub Actions с другого репозитория, необходимо проверить его работоспособность и запустить деплой на целевой сервер.

Вам понадобится доступ к управлению репозиторием, в котором находится ваш код, а также к вашему целевому серверу.

Для проверки деплоя выполните следующие шаги:

  1. Откройте репозиторий с вашим кодом и перейдите на вкладку «Actions». Здесь вы должны увидеть список ваших workflow файлов, включая тот, который вы настроили для деплоя.
  2. Выберите нужный workflow файл и убедитесь, что он находится в статусе «success». Если статус «failure» или «pending», просмотрите логи работы workflow для выявления проблемы.
  3. Если статус «success», значит деплой прошел успешно, и код из вашего репозитория был скопирован на целевой сервер. Вы можете перейти к следующему шагу — проверке работоспособности ваших изменений на сервере.

Для запуска деплоя выполните следующие шаги:

  1. Ознакомьтесь с документацией вашего сервера и узнайте, как запускать приложение из вашего репозитория.
  2. Используйте нужные команды или инструменты для запуска приложения на вашем сервере с помощью скопированного кода из вашего репозитория.
  3. Проверьте работоспособность приложения, обратившись к нему через веб-браузер или другой способ, предусмотренный вашим сервером.

Если ваше приложение успешно запустилось на целевом сервере и работает корректно, значит деплой через GitHub Actions настроен и функционирует. Вы можете радоваться успеху и продолжать разрабатывать свой код, зная, что он будет автоматически размещен на сервере при каждом изменении в вашем репозитории.

Оцените статью