12 промтов для CI/CD: GitHub Actions, GitLab CI и ArgoCD

Введение

CI/CD (Continuous Integration / Continuous Delivery) — это практика автоматизации сборки, тестирования и развёртывания кода. Без неё современная разработка превращается в хаос: ручные деплои, сломанные сборки и бессонные ночи. В 2026 году, когда скорость выхода фич критична, умение быстро настроить пайплайны — навык, который отличает инженера от новичка. Я собрал 12 проверенных промтов, которые использую каждый день для работы с GitHub Actions, GitLab CI и ArgoCD. Эти запросы экономят часы, а не минуты.

1. Генерация базового пайплайна для GitHub Actions

Промт: «Создай рабочий файл GitHub Actions для Node.js приложения. Включи этапы: установка зависимостей, линтинг, юнит-тесты и сборка. Используй actions/setup-node@v4 и кэширование node_modules.»

Пример использования: Вы пишете новое приложение и хотите сразу настроить CI. Вместо копирования из документации или Stack Overflow — даёте промт и получаете готовый YAML.

name: Node.js CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
          cache: 'npm'
      - run: npm ci
      - run: npm run lint
      - run: npm test
      - run: npm run build

Почему это работает: Промт явно указывает версию actions (v4) и флаг кэширования — это ускоряет сборку на 30-50%.

2. Настройка матрицы сборки для нескольких версий

Промт: «Создай матричный пайплайн для Python-проекта, который тестирует код на Python 3.10, 3.11 и 3.12. Используй actions/setup-python@v5 и параллельный запуск тестов с pytest.»

Пример: Разрабатываете библиотеку, которая должна работать на нескольких версиях Python. Матрица запускает 3 параллельных джоба, сокращая время проверки.

name: Python Matrix

on: [push]

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: ['3.10', '3.11', '3.12']
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: ${{ matrix.python-version }}
      - run: pip install -r requirements.txt
      - run: pytest

Важно: Промт включает конкретные версии, что исключает ошибки совместимости.

3. Деплой на VPS через SSH в GitLab CI

Промт: «Настрой GitLab CI для деплоя React-приложения на удалённый сервер через SSH. Используй rsync для синхронизации файлов и скрипт для перезапуска nginx. Переменные: SSH_PRIVATE_KEY, VPS_HOST, VPS_USER.»

Пример: Вы используете GitLab, и вам нужно деплоить на VPS без Docker. Этот промт генерирует полный .gitlab-ci.yml.

stages:
  - deploy

deploy:
  stage: deploy
  script:
    - apt-get update -qq && apt-get install -y -qq openssh-client rsync
    - eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY"

| tr -d '\r' | ssh-add - > /dev/null
    - mkdir -p ~/.ssh
    - chmod 700 ~/.ssh
    - rsync -avz --delete ./dist/ $VPS_USER@$VPS_HOST:/var/www/app/
    - ssh $VPS_USER@$VPS_HOST "sudo systemctl reload nginx"
  only:
    - main

Совет: Храните приватный ключ в Settings -> CI/CD -> Variables, никогда не вшивайте в код.

4. Интеграция с Docker и Docker Hub

Промт: «Создай GitHub Actions workflow для сборки Docker-образа и публикации его в Docker Hub при пуше в main. Используй docker/setup-buildx-action@v3 и docker/login-action@v3.»

Пример: Команда переходит на контейнеризацию. Этот промт автоматизирует сборку и публикацию образа.

name: Docker Build and Push

on:
  push:
    branches: [main]

jobs:
  docker:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: docker/setup-buildx-action@v3
      - uses: docker/login-action@v3
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
      - uses: docker/build-push-action@v5
        with:
          push: true
          tags: myrepo/myapp:latest

Экономия: Ручная сборка занимает 5 минут, промт даёт готовое решение за 10 секунд.

5. Автоматическая проверка кода с линтерами

Промт: «Настрой GitLab CI для запуска eslint и prettier на каждый push. Если линтер находит ошибки — пайплайн должен завершиться с ошибкой.»

Пример: Для поддержания единого стиля кода в команде из 5 человек.

stages:
  - lint

lint:
  stage: lint
  image: node:20
  script:
    - npm ci
    - npx eslint .
    - npx prettier --check .
  only:
    - merge_requests

Результат: Код-ревью становится быстрее, так как базовые ошибки отсеиваются автоматически.

6. Развёртывание в Kubernetes через ArgoCD

Промт: «Создай Application manifest для ArgoCD, который синхронизирует Helm-чарт из Git-репозитория в кластер Kubernetes. Используй syncPolicy с автоматической синхронизацией и prune.»

Пример: Команда использует GitOps — все изменения в инфраструктуре идут через Git.

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: my-app
  namespace: argocd
spec:
  project: default
  source:
    repoURL: https://github.com/myorg/myapp.git
    targetRevision: HEAD
    path: helm/myapp
  destination:
    server: https://kubernetes.default.svc
    namespace: production
  syncPolicy:
    automated:
      prune: true
      selfHeal: true

Важно: Промт включает prune: true — это гарантирует, что удалённые из Git ресурсы будут удалены из кластера.

7. Уведомления в Telegram об успешном деплое

Промт: «Добавь в GitHub Actions шаг для отправки уведомления в Telegram при успешном завершении пайплайна. Используй appleboy/telegram-action@v1.3.»

Пример: Когда деплой завершён, команда получает мгновенное сообщение.

- name: Send Telegram notification
  uses: appleboy/telegram-action@v1.3
  with:
    to: ${{ secrets.TELEGRAM_CHAT_ID }}
    token: ${{ secrets.TELEGRAM_TOKEN }}
    message: |
      ✅ Деплой успешен!
      Репозиторий: ${{ github.repository }}
      Ветка: ${{ github.ref_name }}

Почему это полезно: Не нужно заходить в CI/CD-интерфейс — всё в мессенджере.

8. Кэширование зависимостей для ускорения

Промт: «Настрой кэширование для GitLab CI в Python-проекте. Используй cache:key для virtualenv и pip cache.»

Пример: Пайплайн с 10 джобами может выполняться 20 минут. Кэширование сокращает до 5.

cache:
  key: $CI_COMMIT_REF_SLUG
  paths:
    - .venv/
    - ~/.cache/pip/

before_script:
  - python -m venv .venv
  - source .venv/bin/activate
  - pip install -r requirements.txt

Статистика: По данным GitLab, кэширование ускоряет пайплайны в среднем на 40%.

9. Мульти-стейдж сборка для микросервисов

Промт: «Создай GitHub Actions workflow для монорепозитория с микросервисами. Каждый сервис должен собираться только при изменении его директории.»

Пример: В монорепозитории 5 микросервисов. Нет смысла собирать все при изменении одного.

jobs:
  changes:
    runs-on: ubuntu-latest
    outputs:
      service1: ${{ steps.filter.outputs.service1 }}
      service2: ${{ steps.filter.outputs.service2 }}
    steps:
      - uses: dorny/paths-filter@v3
        id: filter
        with:
          filters: |
            service1: 'services/service1/**'
            service2: 'services/service2/**'

  build-service1:
    needs: changes
    if: ${{ needs.changes.outputs.service1 == 'true' }}
    runs-on: ubuntu-latest
    steps:
      - run: echo "Building service1"

Экономия: Ресурсы CI не тратятся впустую.

10. Безопасность: сканирование секретов в коде

Промт: «Добавь в GitLab CI проверку на утечку секретов с помощью truffleHog. Сканируй весь репозиторий на каждом пуше.»

Пример: Разработчик случайно закоммитил API-ключ. Пайплайн ловит это до деплоя.

stages:
  - security

secret-scan:
  stage: security
  image: python:3.11
  script:
    - pip install truffleHog
    - trufflehog --regex --entropy=True file://.
  allow_failure: false

Важно: allow_failure: false — пайплайн не пройдёт, пока утечка не будет устранена.

11. Canary-деплой через ArgoCD Rollouts

Промт: «Создай Rollout-манифест для ArgoCD с canary-стратегией: 10% трафика на 5 минут, затем 50%, затем 100%.»

Пример: Нужно безопасно выкатить новую версию приложения.

apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
  name: my-app
spec:
  replicas: 5
  strategy:
    canary:
      steps:
        - setWeight: 10
          pause: {duration: 5m}
        - setWeight: 50
          pause: {duration: 5m}
        - setWeight: 100
  template:
    spec:
      containers:
        - name: app
          image: myapp:v2

Результат: Если ошибка появится на 10% трафика — вы успеете откатиться.

12. Автоматический откат при падении метрик

Промт: «Настрой ArgoCD с анализом метрик Prometheus для автоматического отката, если количество 5xx ошибок превышает 1% за 2 минуты.»

Пример: Деплой прошёл, но приложение начало выдавать ошибки. ArgoCD откатывает версию автоматически.

apiVersion: argoproj.io/v1alpha1
kind: AnalysisTemplate
metadata:
  name: error-rate
spec:
  metrics:
    - name: error-rate
      successCondition: result < 0.01
      provider:
        prometheus:
          query: |
            sum(rate(http_requests_total{status=~"5.."}[2m])) /
            sum(rate(http_requests_total[2m]))

Важно: Это продвинутая техника, используйте её только если у вас настроены мониторинг и алертинг.

Заключение

Эти 12 промтов — моя ежедневная база. Они покрывают 90% задач по CI/CD: от простой сборки до канареечных деплоев с автооткатом. Начните с первых трёх — они дадут быстрый результат. Затем переходите к ArgoCD и безопасности. Помните: хороший пайплайн — это тот, который не требует ручного вмешательства. Делитесь своими промтами в комментариях — возможно, ваш лайфхак станет следующим в моём списке.

← Все статьи

Комментарии

Читайте также

15 промтов для рефакторинга legacy кода: стратегии и примеры

21 июля 2026

OPC-UA (SCADA, DCS) + ASI Biont: как AI-агент управляет промышленными данными без единой строки кода

21 июля 2026

От 4 часов до 20 минут: Как стартап трансформировал развертывание с помощью курса DevOps и облачных технологий на Asibiont

21 июля 2026

Как подключить RC522 (RFID) к AI-агенту ASI Biont: гайд по интеграции с примерами кода

21 июля 2026

EU AI Act и глобальные стандарты: как курс по регулированию ИИ защитит ваш бизнес от штрафов в 2026 году

21 июля 2026

Дашборд без правильного вопроса опаснее его отсутствия: как BI-системы становятся ловушкой для бизнеса

21 июля 2026

Почему рынок CI/CD растет на 40% в год? Разбор курса «CI/CD Pipeline (GitOps)» и как AI-тьютор Asibiont ускоряет обучение

21 июля 2026

10 промтов для работы с базами данных: PostgreSQL, MongoDB, Redis

21 июля 2026

Будущее разработки за full-stack: как Vibe Coding меняет правила игры в 2026 году

21 июля 2026