Настройка CICD на GitHub пошаговая инструкция

01.08.2025 | Категория: Балкон и лоджия

Создайте репозиторий на GitHub и подготовьте проект. Убедитесь, что в проекте есть файл Dockerfile или скрипты сборки, если вы используете контейнеризацию или автоматическую сборку.

Создание файла конфигурации workflow

В корне репозитория создайте папку .github/workflows и внутри–файл ci-cd.yml. В этом файле определите последовательность шагов для автоматической сборки, тестирования и деплоя.

Образец базовой конфигурации

name: CI/CD Pipeline
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Установка зависимостей
run: |
npm install
- name: Запуск тестов
run: |
npm test
- name: Сборка проекта
run: |
npm run build
- name: Деплой на сервер
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
run: |
ssh -o StrictHostKeyChecking=no user@server "deploy команды"

Настройте триггеры: реакцию на пуши в ветку main и пулл-запросы. Это обеспечит автоматизацию каждого этапа без ручного вмешательства.

Настройка секретов и токенов

Перейдите в раздел Settings вашего репозитория, выберите Secrets and variables / Actions. Добавьте секреты:

  • SSH_PRIVATE_KEY: приватный ключ для подключений по SSH; нужен для автоматического деплоя.
  • API_TOKENS: при необходимости взаимодействия с внешними API.

Используйте эти секреты в workflow-файле через переменные окружения (например, secrets.SSH_PRIVATE_KEY).

Деплой и автоматизация

Настройте команду деплоя на сервере, чтобы она запускалась прямо из workflow. Например, используйте SSH для подключения и выполнения скриптов. Не забудьте обеспечить безопасность, настроив правильные разрешения на сервере и ограничив доступ по ключам.

Проверка и отладка

  1. Закоммитьте и отправьте изменения в ветку main.
  2. Перейдите во вкладку Actions вашего репозитория и убедитесь, что сборка прошла успешно.
  3. Проверьте работу деплоя, убедившись, что обновления появились на сервере или в целевой системе.

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