1 Пример пайплайна Jenkins - загрузка результатов плагином
pipeline {
agent any
environment {
ALLURE_LAUNCH_ID = '5560' // передаем необходимые параметры окружения, например id запуска, если требуется загрузка в конкретный лонч
}
stages {
stage('Checkout') {
steps {
git branch: 'main', url: 'https://github.com/Akklamantor/allure-example-ae'
}
}
stage('Cleanup for previous test results') {
steps {
// команда очистки репозитория или любой другой скрипт выполняемый до загрузки результатов
}
}
stage('Запуск тестов') { // в данном стейдже должен быть только запуск тестов, можем указать помимо необходимых projectId, results path, serverId так же теги, название запуска и т.п.
steps {
withAllureUpload(projectId: '1493', results: [[path: 'build/allure-results']], serverId: 'vg'
) {
sh './gradlew clean test'
}
}
}
}
}
Если не производится очистка репозиториев от файлов с предыдущих прогонов, то необходимо добавить параметр:
withAllureUpload(indexExistingFiles:true
в противном случае может быть ситуация когда после запуска пайплайна, лонч на стороне ТестОпс будет пустым (подробнее описано в разделе документации qatools.ru/docs/troubleshooting)
2 Пример пайплайна - загрузка результатов allurectl
pipeline {
agent any
environment {
ALLURE_ENDPOINT = 'https://testops'
ALLURE_PROJECT_ID = '1'
ALLURE_RESULTS = 'build/allure-results'
ALLURE_LAUNCH_TAGS = 'allurectl, java, junit'
}
stages {
stage('clenup before run'){
steps {
sh "ls -lah ${env.WORKSPACE}/.allure || true"
sh "rm -f ${env.WORKSPACE}/.allure/* || true"
}
}
stage('pull the tests code from your repo') {
steps {
git branch: '${TESTS_BRANCH_NAME}', url: 'https://github.com/cheshi-mantu/allure-example-ae.git'
}
}
stage('Running tests') {
steps {
withCredentials([string(credentialsId: 'testing', variable: 'ALLURE_TOKEN')]) {
sh "curl -L -o ./allurectl https://github.com/allure-framework/allurectl/releases/download/${ALLURECTL_RELEASE}/allurectl_linux_amd64"
sh 'chmod +x ./allurectl'
sh "rm -r -f build/allure-results"
sh "chmod +x ./gradlew"
sh 'printenv | grep ALLURE_' //вывод параметров ALLURE_
sh "./allurectl watch -- ./gradlew clean test" //если у вас запуск "clean test", то стейдж с очисткой старых результатов не нужен
sh "./allurectl ci env > envparameters". //сбор параметров для передачи контекста (складываем в файл envparameters)
}
}
}
}
}
ci env - выступает за передачу контекста, более подробно описано в данном разделе документации