Чтобы настроить Tekton pipeline нужно сначала настроить Task. Мы будем использовать в качестве примера открытый репозиторий.
Рекомендуем сначала запустить Pipeline на нем, а уже потом адоптировать его под свои задачи.
В файле необходимо правильно заполнить следующие переменные:
ALLURE_ENDPOINT
ALLURE_TOKEN
ALLURE_PROJECT_ID
Создаем файл в рабочей директории с именем allure-example-test-task.yaml и следующим содержимым:
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
name: allure-example-test
spec:
params:
- name: ALLURE_JOB_RUN_ID
type: string
- name: namespace
type: string
- name: pipelineName
type: string
- name: pipelineRunName
type: string
steps:
- name: test
image: gradle:jdk8
script: |
git clone <https://github.com/eroshenkoam/allure-example.git> && cd allure-example
wget -q -O /usr/bin/allurectl <https://github.com/allure-framework/allurectl/releases/latest/download/allurectl_linux_386> && chmod +x /usr/bin/allurectl
allurectl watch -- ./gradlew clean test
env:
- name: "ALLURE_ENDPOINT"
value: "<https://where.is.allure.testops>"
- name: "ALLURE_TOKEN"
value: "653458f1-4e6d-4afe-8190-394361d21f27"
- name: "ALLURE_PROJECT_ID"
value: "1"
- name: "ALLURE_CI_TYPE"
value: "tekton"
- name: "ALLURE_LAUNCH_NAME"
value: "$(params.pipelineName) - $(params.pipelineRunName)"
- name: "ALLURE_JOB_URL"
value: "<https://tekton.qameta.space/#/namespaces/$(params.namespace)/pipelines/$(params.pipelineName)>"
- name: "ALLURE_JOB_UID"
value: "$(params.namespace)/$(params.pipelineName)"
- name: "ALLURE_JOB_NAME"
value: "$(params.pipelineName)"
- name: "ALLURE_JOB_RUN_ID"
value: "$(params.ALLURE_JOB_RUN_ID)"
- name: "ALLURE_JOB_RUN_URL"
value: "<https://tekton.qameta.space/#/namespaces/$(params.namespace)/pipelineruns/$(params.pipelineRunName)>"
- name: "ALLURE_JOB_RUN_UID"
value: "$(params.pipelineRunName)"
- name: "ALLURE_JOB_RUN_NAME"
value: "$(params.pipelineRunName)"
- name: "ALLURE_TESTPLAN_PATH"
value: "./testplan.json"
- name: "ALLURE_RESULTS"
value: "build/allure-results"
Загружаем содержимое файла в Tekton:
kubectl apply -f allure-example-test-task.yaml
Создаем файл в рабочей директории с именем allure-example-pipeline.yaml и следующим содержимым:
apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
name: allure-example
spec:
params:
- description: Allure Job Run ID
name: ALLURE_JOB_RUN_ID
type: string
default: ""
tasks:
- name: test
taskRef:
name: allure-example-test
params:
- name: ALLURE_JOB_RUN_ID
value: "$(params.ALLURE_JOB_RUN_ID)"
- name: pipelineName
value: "$(context.pipeline.name)"
- name: pipelineRunName
value: "$(context.pipelineRun.name)"
- name: namespace
value: "$(context.pipelineRun.namespace)"
Загружаем содержимое файла в Tekton:
kubectl apply -f allure-example-pipeline.yaml
Открываем Tekton Dashboard и переходим в раздел PipelineRuns