Настройка CICD на GitHub пошаговая инструкция
Создайте репозиторий на 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 для подключения и выполнения скриптов. Не забудьте обеспечить безопасность, настроив правильные разрешения на сервере и ограничив доступ по ключам.
Проверка и отладка
- Закоммитьте и отправьте изменения в ветку main.
- Перейдите во вкладку Actions вашего репозитория и убедитесь, что сборка прошла успешно.
- Проверьте работу деплоя, убедившись, что обновления появились на сервере или в целевой системе.
Параллельно следите за логами для выявления ошибок и автоматического их исправления. При необходимости доработайте конфигурацию, добавляя новые этапы или условия.