• Русский
  • Запуск с помощью Git операций

    Для обычных пользователей

    В этом руководстве приведены примеры команд Git для запуска PAC pipeline через операции Git.

    В этом руководстве показаны распространённые команды Git, используемые для запуска PAC pipeline через события провайдера Git.

    Как работают триггеры PAC

    PAC использует вебхуки от провайдеров Git (GitHub, GitLab, Bitbucket и др.) для обнаружения событий:

    1. Настройка вебхука: При создании Repository CR PAC автоматически настраивает вебхук в вашем провайдере Git
    2. Обнаружение события: При возникновении событий (push, pull request, комментарии) провайдер Git отправляет вебхук контроллеру PAC
    3. Сопоставление pipeline: Контроллер PAC сопоставляет событие с аннотациями в ваших файлах PipelineRun
    4. Запуск pipeline: Если совпадение найдено, PAC создаёт PipelineRun в вашем кластере

    Для подробностей о определении pipeline и аннотациях событий смотрите Maintain Pipeline Code.

    Тестирование триггеров push

    Простой push

    Внесите изменение и выполните push для запуска pipeline:

    echo "test" >> test.txt
    git add test.txt
    git commit -m "Test push trigger"
    git push origin main

    Push в конкретную ветку

    Создайте и отправьте изменения в feature-ветку:

    git checkout -b feature/new-feature
    echo "feature code" >> feature.txt
    git add feature.txt
    git commit -m "Add new feature"
    git push origin feature/new-feature

    Пустой коммит

    Запустите pipeline без изменений кода:

    git commit --allow-empty -m "Trigger pipeline"
    git push origin main

    Тестирование триггеров Merge Request

    Создание Merge Request

    1. Создайте feature-ветку:

      git checkout -b feature/test-mr
      echo "feature" >> feature.txt
      git add feature.txt
      git commit -m "Add feature for MR test"
      git push origin feature/test-mr
    2. Создайте Pull/Merge Request, нацеленный на ветку main, через UI вашего провайдера Git

    Обновление Merge Request

    Отправьте дополнительные коммиты для повторного запуска pipeline:

    echo "update" >> feature.txt
    git add feature.txt
    git commit -m "Update feature"
    git push origin feature/test-mr

    Принудительный push в Merge Request

    Перезапишите историю и выполните принудительный push:

    git commit --amend --no-edit
    git push --force-with-lease origin feature/test-mr

    Примечание: Используйте --force-with-lease вместо --force, чтобы избежать перезаписи чужой работы.

    Использование команд в комментариях

    Команды в комментариях работают только в Merge Requests (Pull Requests), а не в обычных коммитах или событиях push.

    Запуск через комментарий

    1. Откройте ваш Pull/Merge Request в UI провайдера Git

    2. Добавьте комментарий с командой:

      /retest

    или

    /test
    1. PAC обнаружит комментарий и запустит соответствующий pipeline

    Распространённые команды в комментариях

    КомандаОписание
    /retestПовторно запустить все упавшие тесты
    /testЗапустить тесты
    /ok-to-testРазрешить запуск тестов (если требуется)
    /cancelОтменить запущенный pipeline

    Примечание: Точные команды зависят от вашей конфигурации pipeline. Вы определяете команды в аннотации on-comment в ваших файлах PipelineRun.

    Проверка статуса pipeline

    Просмотр PipelineRuns

    Проверьте, был ли запущен pipeline:

    kubectl get pipelineruns -n <namespace>

    Просмотр логов pipeline

    Просмотрите логи конкретного PipelineRun:

    tkn pipelinerun logs <pipelinerun-name> -n <namespace>

    Или следите за логами в реальном времени:

    tkn pipelinerun logs <pipelinerun-name> -n <namespace> -f

    Проверка последнего PipelineRun

    Получите последний PipelineRun:

    kubectl get pipelineruns -n <namespace> --sort-by=.metadata.creationTimestamp | tail -1

    Устранение неполадок с Git операциями

    Проверка текущей ветки

    Убедитесь, что вы на нужной ветке:

    git branch --show-current

    Проверка последнего коммита

    Посмотрите детали последнего коммита:

    git log --oneline -1

    Проверка удалённой ветки

    Убедитесь, что ветка существует на удалённом репозитории:

    git branch -r | grep <branch-name>

    Просмотр удалённого репозитория

    Проверьте URL настроенного удалённого репозитория:

    git remote -v

    Принудительная синхронизация с удалённым репозиторием

    Сбросьте локальную ветку, чтобы она соответствовала удалённой:

    git fetch origin
    git reset --hard origin/<branch-name>

    Внимание: Это удалит локальные изменения.

    Следующие шаги

    • Maintain Pipeline Code - Узнайте, как определять pipeline и настраивать триггеры событий
    • Configure Repository - Руководство по настройке репозитория
    • Common Issues - Руководство по устранению неполадок