Справочник команд tkn pac
Это руководство охватывает команды CLI tkn pac для управления репозиториями, генерации pipeline и разрешения.
Это руководство представляет собой полный справочник по командам плагина CLI tkn pac, включая управление репозиториями, генерацию pipeline и разрешение.
Содержание
Предварительные требованияУстановка плагина tkn pacПроверка установкиКоманды для репозитория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
См. tkn pac Releases для получения последней версии.
Установите tkn pac, используя один из способов, описанных в официальном руководстве по релизам проекта tkn pac, и убедитесь, что исполняемый файл доступен в вашем PATH.
Проверка установки
Пример вывода:
Пример вывода:
Команды для репозитория
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-провайдера (зависит от провайдера)
Что делает команда:
- Создает CR Repository в вашем Kubernetes-кластере
- Автоматически настраивает webhook Git-провайдера
- Создает Secret Kubernetes с учетными данными Git-провайдера
- Генерирует шаблон
.tekton/pipelinerun.yamlв вашем репозитории
Пример:
Пример вывода (интерактивные запросы):
Для получения подробных сведений см. Configure Repository.
tkn pac list
Выводит список всех репозиториев Pipelines as Code и отображает последний статус связанных запусков.
Базовый синтаксис:
Список в определенном namespace:
Формат вывода:
Параметры:
-n, --namespace <namespace>: Указывает namespace для вывода списка репозиториев (по умолчанию: namespace текущего контекста kubectl)-A, --all-namespaces: Выводит список репозиториев во всех пространствах имен-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)
Включает в вывод:
- сведения о CR репозитория
- конфигурацию Git-провайдера
- конфигурацию webhook
- статус последних PipelineRun
- информацию о последнем запуске
Пример:
Пример вывода:
Команда Generate
tkn pac generate
Генерирует простой шаблон PipelineRun.
Базовый синтаксис:
Возможности:
- Автоматически определяет текущие Git-данные из каталога
- Использует базовую возможность определения языка
- Добавляет дополнительные tasks в зависимости от определенного языка
- Создает шаблон
.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
Выполняет PipelineRun так, как если бы им управлял сервис 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 (commit SHA)
- имя branch
- 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
- Проверьте context: убедитесь, что контекст Kubernetes задан верно
- Проверьте права доступа: убедитесь, что у вас есть необходимые разрешения
Следующие шаги
- Configure Repository - Руководство по настройке репозитория
- Incoming Webhooks - Запуск pipeline через webhook
- Manage PAC Component - Управление компонентом PAC
- Common Issues - Руководство по устранению неполадок