• Русский
  • Быстрый старт

    Целевая аудитория

    Это руководство предназначено для пользователей, которые хотят подключить Git repository к существующей установке PAC и запустить первый PipelineRun.

    Введение

    Вы:

    • Создадите подключение PAC Repository с помощью tkn pac
    • Добавите в repository простое определение PipelineRun
    • Запустите и проверите первый прогон

    Оценочное время чтения

    10–15 минут

    Предварительные требования

    • PAC развернут и доступен из сети Git provider. См. Manage PAC Component.
    • У вас есть PAC webhook URL. См. Get the PAC Webhook URL.
    • Вам известен namespace PAC. По умолчанию используется tekton-pipelines.
    • kubectl настроен для целевого cluster.
    • Установлен tkn CLI с plugin pac. См. tkn pac Command Reference.
    • У вас есть права administrator или maintainer в Git repository.

    Шаг 1: Настройка Repository

    Ниже приведены шаги с использованием CLI tkn pac и GitLab в качестве примера. Для настройки с GitHub или на основе manifest см. Configure GitHub Repository или Configure GitLab Repository.

    Параметры Namespace
    • --pac-namespace — namespace, в котором развернут PAC. По умолчанию используется tekton-pipelines.
    • Интерактивный запрос для pipeline namespace — это namespace, в котором будут созданы ресурсы Repository и PipelineRun. Создайте этот namespace до выполнения команды.

    Подтвердите наличие plugin tkn pac

    Убедитесь, что plugin доступен:

    tkn pac version

    Пример вывода:

    0.39.2

    Если команда завершается с ошибкой, установите plugin из tkn pac Command Reference.

    Создайте GitLab Personal Access Token

    1. Перейдите в GitLab → Settings → Access Tokens
    2. Создайте token с scope api
    3. Надежно сохраните token

    Настройка Repository с помощью tkn pac

    Запустите команду из каталога Git repository. Каталог .tekton будет создан в текущем рабочем каталоге.

    cd /path/to/your/gitlab/repo
    tkn pac create repo --pac-namespace tekton-pipelines

    Замените tekton-pipelines, если PAC был развернут в другом namespace.

    Следуйте интерактивным подсказкам:

    1. Введите URL Git repository (автоматически определяется из текущего каталога или вводится вручную)
    2. Введите namespace для pipelines, например project-pipelines. Namespace уже должен существовать.
    3. На этом этапе будет создан CR Repository
    4. Введите GitLab project ID (его можно найти в project settings → General)
    5. Введите PAC webhook URL из Get the PAC Webhook URL
    6. Введите webhook secret (или нажмите Enter, чтобы использовать автоматически сгенерированное значение по умолчанию)
    7. Введите GitLab access token (созданный вами Personal Access Token)
    8. Введите GitLab API URL (по умолчанию: https://gitlab.com, либо укажите URL вашего self-hosted GitLab)

    Команда выполнит следующие действия:

    • Создаст ресурс Repository в выбранном namespace
    • Автоматически настроит GitLab webhook
    • Создаст Kubernetes Secret с учетными данными
    • Сгенерирует шаблон .tekton/pipelinerun.yaml в вашем repository

    Шаг 2: Создайте свой первый Pipeline

    Команда tkn pac create repo создает базовый шаблон в .tekton/pipelinerun.yaml. Отредактируйте его, чтобы определить ваш pipeline:

    apiVersion: tekton.dev/v1
    kind: PipelineRun
    metadata:
      name: simple-pipeline
      annotations:
        pipelinesascode.tekton.dev/on-target-branch: "[refs/heads/main]"
        pipelinesascode.tekton.dev/on-event: "[push]"
    spec:
      pipelineSpec:
        tasks:
        - name: hello
          taskSpec:
            steps:
            - name: echo
              image: alpine:latest
              script: |
                echo "Hello from Pipelines as Code!"

    Зафиксируйте изменения и отправьте их в ваш repository:

    git add .tekton/pipelinerun.yaml
    git commit -m "Add PAC pipeline"
    git push origin <your-branch-name>

    Примечание:

    • Замените <your-branch-name> на имя вашей branch (например, main, master или develop)
    • Убедитесь, что annotation pipelinesascode.tekton.dev/on-target-branch соответствует имени вашей branch. Например, если ваша branch — main, используйте "[refs/heads/main]"; если test, используйте "[refs/heads/test]"
    • Чтобы сопоставить несколько branch, используйте значения, разделенные запятыми: "[main, develop]" или "[refs/heads/main,refs/heads/develop]"
    • Чтобы сопоставить все branch, используйте: "[refs/heads/*]"

    Шаг 3: Тестирование pipeline

    Запуск через Push

    Отправьте commit в branch, указанный в annotation вашего pipeline, чтобы запустить pipeline:

    echo "test" >> README.md
    git add README.md
    git commit -m "Test pipeline trigger"
    git push origin <your-branch-name>

    Запуск через Merge Request

    Создайте Merge Request, чтобы запустить pipeline:

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

    Затем создайте Merge Request в GitLab.

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

    Просмотрите PipelineRuns в namespace:

    kubectl get pipelineruns -n project-pipelines

    Пример вывода:

    NAME                    STARTED        DURATION   STATUS
    simple-pipeline-xxxxx   2 minutes ago  30s        Succeeded

    Просмотрите логи pipeline:

    # List all PipelineRuns
    tkn pipelinerun list -n project-pipelines

    Пример вывода:

    NAME                    STARTED        DURATION   STATUS
    simple-pipeline-xxxxx   2 minutes ago  30s        Succeeded
    # View logs for a specific PipelineRun
    tkn pipelinerun logs <pipelinerun-name> -n project-pipelines

    Пример вывода:

    [hello : echo] Hello from Pipelines as Code!

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

    • Manage PAC Component — руководство по развертыванию, обновлению и удалению
    • Guides — пошаговые инструкции по настройке repository end-to-end
    • Define PipelineRuns in Git — файлы PipelineRun и annotations триггеров
    • Trigger Pipelines — руководство по запуску событий