Справочник команд tkn pac
Это руководство охватывает команды CLI tkn pac для управления репозиториями, генерации и разрешения pipeline.
Данное руководство предоставляет полный справочник по командам плагина CLI tkn pac, включая управление репозиториями, генерацию pipeline и их разрешение.
Содержание
Предварительные требованияПроверка установкиКоманды для работы с репозиториямиtkn pac create repositorytkn pac listtkn pac repo describeКоманда Generatetkn pac generateКоманда Resolvetkn pac resolveГлобальные опцииРекомендации по использованию1. Управление репозиториями2. Генерация pipelineУстранение неполадокКоманда не найденаПроблемы с подключениемСледующие шагиПредварительные требования
- установлен CLI
tkn - установлен плагин
tkn pac - настроен kubectl для доступа к вашему кластеру
- развернут компонент PAC
Проверка установки
Пример вывода:
Пример вывода:
Команды для работы с репозиториями
tkn pac create repository
Создаёт новый репозиторий Pipelines as Code и namespace на основе шаблона pipeline run.
Основной синтаксис:
Интерактивный режим:
Команда запросит у вас:
- URL Git-репозитория (автоматически определяется из текущей директории)
- Namespace для pipeline (по умолчанию:
project-pipelines) - Специфическую информацию провайдера Git (например, ID проекта для GitLab)
- URL контроллера PAC (автоматически определяется)
- Секрет webhook (генерируется автоматически)
- Токен доступа провайдера Git
- URL API провайдера Git (зависит от провайдера)
Что делает команда:
- Создаёт объект Repository CR в вашем Kubernetes кластере
- Автоматически настраивает webhook провайдера Git
- Создаёт Kubernetes Secret с учётными данными провайдера Git
- Генерирует шаблон
.tekton/pipelinerun.yamlв вашем репозитории
Пример:
Пример вывода (интерактивные запросы):
Для подробного использования смотрите Configure Repository.
tkn pac list
Выводит список всех репозиториев Pipelines as Code и отображает последний статус связанных запусков.
Основной синтаксис:
Список в конкретном namespace:
Формат вывода:
Опции:
-n, --namespace <namespace>: указать namespace для вывода репозиториев (по умолчанию namespace текущего контекста kubectl)-A, --all-namespaces: вывести репозитории во всех namespace-o, --output <format>: формат вывода (default, json, yaml, wide)
Пример:
tkn pac repo describe
Отображает подробную информацию о репозитории Pipelines as Code и связанных запусках.
Основной синтаксис:
Опции:
-n, --namespace <namespace>: указать namespace, где находится репозиторий (по умолчанию namespace текущего контекста kubectl)-o, --output <format>: формат вывода (default, json, yaml)
Вывод включает:
- детали Repository CR
- конфигурацию провайдера Git
- конфигурацию webhook
- статус последних PipelineRun
- информацию о последнем запуске
Пример:
Пример вывода:
Команда Generate
tkn pac generate
Генерирует простой шаблон PipelineRun.
Основной синтаксис:
Возможности:
- Автоматически определяет текущую информацию Git из директории
- Использует базовое определение языка проекта
- Добавляет дополнительные задачи в зависимости от обнаруженного языка
- Создаёт шаблон
.tekton/pipelinerun.yaml
Определение языка:
Команда определяет язык проекта и добавляет соответствующие задачи:
- Python: обнаруживает
setup.pyилиrequirements.txt, добавляет задачуpylint - Go: обнаруживает
go.mod, добавляет задачуgolangci-lint - Node.js: обнаруживает
package.json, добавляет задачиnpm - Java: обнаруживает
pom.xml, добавляет задачиmaven
Пример:
Пример вывода:
Пример сгенерированного шаблона:
Команда Resolve
tkn pac resolve
Выполняет запуск pipeline как если бы он принадлежал сервису Pipelines as Code. Это полезно для тестирования определений pipeline локально без создания нового коммита.
Команда resolve обрабатывает ваше определение PipelineRun и:
- Заменяет переменные PAC (например,
{{repo_url}},{{revision}}) на реальные значения - Разрешает аннотации задач (при необходимости загружает задачи из Tekton Hub)
- Проверяет структуру pipeline
- Показывает, как будет выглядеть итоговый PipelineRun
Важно: Эта команда не создаёт PipelineRun в вашем кластере. Она только обрабатывает и проверяет определение pipeline локально.
Основной синтаксис:
Опции:
-f, --file: путь к файлу pipeline или директории (обязательно)-p, --param: переопределить значения параметров (формат:key=value)-o, --output: формат вывода (yaml, json или default)
Разрешение из файла:
Разрешение из директории:
Команда обработает все файлы .yaml и .yml в директории.
Переопределение параметров:
Вы можете переопределить значения параметров, получаемых из Git-репозитория:
Несколько файлов:
Можно использовать флаг -f несколько раз:
Автоопределение:
При запуске из репозитория исходного кода команда пытается:
- Определить текущую информацию Git
- Автоматически разрешить параметры, такие как:
- Текущий revision (SHA коммита)
- Имя ветки
- URL репозитория
- Имя репозитория
Пример:
Пример вывода:
Формат вывода:
Команда выводит разрешённый YAML PipelineRun в stdout. Вы можете:
-
Сохранить в файл:
tkn pac resolve -f .tekton/pipelinerun.yaml > resolved.yaml -
Просмотреть напрямую:
tkn pac resolve -f .tekton/pipelinerun.yaml -
Использовать для проверки: убедиться, что переменные разрешены корректно перед коммитом
Пример вывода:
Сценарии использования:
- Тестирование определений pipeline локально
- Отладка проблем pipeline без создания коммитов
- Проверка синтаксиса pipeline перед коммитом
- Тестирование разрешения параметров
Глобальные опции
Все команды tkn pac поддерживают следующие глобальные опции:
-h, --help: показать справку по команде-v, --version: показать информацию о версии--kubeconfig: путь к файлу kubeconfig--context: использовать указанный Kubernetes контекст
Рекомендации по использованию
1. Управление репозиториями
- Используйте описательные имена: выбирайте понятные имена репозиториев
- Организуйте по namespace: группируйте связанные репозитории в namespace
- Регулярный мониторинг: используйте
tkn pac listдля отслеживания статуса репозиториев
2. Генерация pipeline
- Проверяйте сгенерированные шаблоны: всегда просматривайте и настраивайте сгенерированные pipeline
- Тестируйте локально: используйте
tkn pac resolveдля тестирования pipeline перед коммитом - Контроль версий: сохраняйте определения pipeline в Git
Устранение неполадок
Команда не найдена
Если команда tkn pac не найдена:
-
Проверьте установку:
Пример вывода:
-
Проверьте PATH: убедитесь, что
tkn-pacнаходится в вашем PATH -
Переустановите: при необходимости переустановите плагин
Проблемы с подключением
Если команды не могут подключиться к кластеру:
- Проверьте kubectl: протестируйте подключение kubectl
- Проверьте контекст: убедитесь в правильности Kubernetes контекста
- Проверьте права доступа: убедитесь, что у вас есть необходимые разрешения
Следующие шаги
- Configure Repository - Руководство по настройке репозитория
- Incoming Webhooks - Запуск pipeline через вебхуки
- Manage PAC Component - Управление компонентом PAC
- Common Issues - Руководство по устранению неполадок