GitHub Actions — это мощный инструмент, который позволяет автоматизировать различные задачи в репозитории на GitHub. Отправка изменений на сервер стала более легкой и быстрой благодаря использованию Actions. В этой статье мы рассмотрим инструкцию по настройке деплоя через GitHub Actions с использованием другого репозитория.
Деплой — это процесс, при котором ваши изменения и обновления передаются вживую на сервер. Деплой через GitHub Actions позволяет автоматизировать этот процесс, что экономит время разработчиков и улучшает процесс разработки. Нативная интеграция GitHub Actions с вашим репозиторием позволяет задействовать различные инструменты и сервисы для деплоя, включая другие репозитории.
Настройка деплоя с другого репозитория возможна благодаря гибкости GitHub Actions. Сначала вам необходимо создать Workflow файл, который будет описывать ваш деплой процесс. В этом Workflow файле вы указываете ссылку на ваш другой репозиторий, определяете условия и шаги для деплоя. GitHub Actions выполнит все заданные вами инструкции при каждом обновлении вашего репозитория.
- Настройка деплоя через GitHub Actions:
- Шаг 1: Регистрация аккаунта на GitHub
- Шаг 2: Создание репозитория
- Шаг 3: Установка локального Git-клиента
- Шаг 4: Создание SSH-ключей
- Шаг 5: Клонирование репозитория
- Шаг 6: Настройка GitHub Actions для деплоя
- Шаг 7: Настройка деплоя с другого репозитория
- Шаг 8: Проверка и запуск деплоя
Настройка деплоя через 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 с другого репозитория, необходимо создать новый репозиторий, который будет использоваться в качестве целевого.
Чтобы создать новый репозиторий:
- Войдите в свой аккаунт на GitHub и на странице вашего профиля нажмите кнопку «New» (Создать).
- Введите название репозитория и описание (по желанию).
- Выберите опции видимости и инициализации репозитория (если требуется).
- Нажмите кнопку «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, следующим шагом будет клонирование репозитория с исходным кодом проекта. Для этого нам потребуется выполнить следующие действия:
- Откройте GitHub Actions Workflow, который вы создали в предыдущих шагах.
- Добавьте новый шаг (step) к workflow для клонирования вашего репозитория.
- В файле 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 из другого репозитория, выполните следующие шаги:
- Откройте файл
.github/workflows/deploy.yml
в вашем репозитории. - Добавьте следующий код в файл
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 с другого репозитория, необходимо проверить его работоспособность и запустить деплой на целевой сервер.
Вам понадобится доступ к управлению репозиторием, в котором находится ваш код, а также к вашему целевому серверу.
Для проверки деплоя выполните следующие шаги:
- Откройте репозиторий с вашим кодом и перейдите на вкладку «Actions». Здесь вы должны увидеть список ваших workflow файлов, включая тот, который вы настроили для деплоя.
- Выберите нужный workflow файл и убедитесь, что он находится в статусе «success». Если статус «failure» или «pending», просмотрите логи работы workflow для выявления проблемы.
- Если статус «success», значит деплой прошел успешно, и код из вашего репозитория был скопирован на целевой сервер. Вы можете перейти к следующему шагу — проверке работоспособности ваших изменений на сервере.
Для запуска деплоя выполните следующие шаги:
- Ознакомьтесь с документацией вашего сервера и узнайте, как запускать приложение из вашего репозитория.
- Используйте нужные команды или инструменты для запуска приложения на вашем сервере с помощью скопированного кода из вашего репозитория.
- Проверьте работоспособность приложения, обратившись к нему через веб-браузер или другой способ, предусмотренный вашим сервером.
Если ваше приложение успешно запустилось на целевом сервере и работает корректно, значит деплой через GitHub Actions настроен и функционирует. Вы можете радоваться успеху и продолжать разрабатывать свой код, зная, что он будет автоматически размещен на сервере при каждом изменении в вашем репозитории.