Skip to main content

Обзор

GitHub Actions — встроенный в GitHub CI/CD. Конфигурация в YAML в .github/workflows/. Триггеры: push, pull_request, schedule, workflow_dispatch.

Основные понятия

  • Workflow — файл YAML, описывающий один пайплайн.
  • Job — набор шагов на одном runner; джобы могут идти последовательно или параллельно.
  • Step — одна команда или действие (action).
  • Runner — машина (GitHub-hosted или self-hosted), на которой выполняются джобы.

Пример: сборка и тесты

name: CI
on:
  push:
    branches: [main]
  pull_request:
    branches: [main]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Setup Node
        uses: actions/setup-node@v4
        with:
          node-version: '20'
          cache: 'npm'
      - run: npm ci
      - run: npm run lint
      - run: npm test

Полезные темы

Repository Secrets в настройках репо; использование: secrets.MY_SECRET. Переменные: vars или env.
actions/upload-artifact, actions/download-artifact; actions/cache для зависимостей.
Сборка и push образа: docker/build-push-action, логин в registry через секреты.
Вызов kubectl/Helm, Terraform, или облачных CLI (aws, gcloud) из шагов; часто через OIDC или ключи в секретах.

Что добавить сюда

  • Свои workflow-файлы (build, deploy, release)
  • Ссылки на документацию и marketplace actions