#jenkins #jenkins-pipeline #restart #jenkins-declarative-pipeline
Вопрос:
Я использую декларативный конвейер Дженкинса jenkinsfile для нашего проекта. мы хотим попробовать вариант перезапуска на этапе.
pipeline {
agent { label 'worker' }
stages {
stage('clean directory') {
steps {
cleanWs()
}
}
stage('checkout') {
steps {
checkout([$class: 'GitSCM', branches: [[name: 'develop']], extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: devops], [$class: 'LocalBranch', localBranch: "**"]], userRemoteConfigs: [[credentialsId: 'xxxxxx', url: git@github.com/test/devops.git]]])
checkout([$class: 'GitSCM', branches: [[name: 'develop']], extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: harness], [$class: 'LocalBranch', localBranch: "**"]], userRemoteConfigs: [[credentialsId: 'xxxxxx', url: git@github.com/test/harness.git]]])
checkout([$class: 'GitSCM', branches: [[name: 'develop']], extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: automation], [$class: 'LocalBranch', localBranch: "**"]], userRemoteConfigs: [[credentialsId: 'xxxxxx', url: git@github.com/test/automation.git]]])
}
}
stage('build initial commit to release train') {
steps {
sh '''#!/bin/bash
export TASK="build_initial_commit"
cd automation
sh main.sh
'''
}
}
stage('deploy application') {
steps {
sh '''#!/bin/bashexport TASK="deploy"
cd automation
sh main.sh
'''
}
}
}
}
и в Дженкинсе я использую «Сценарий конвейера из SCM». Файл Дженкинса присутствует в репозитории automation.git (который также определен на этапе оформления заказа)
Всякий раз, когда я перезапускаю этап с графического интерфейса с 3-го … каталог рабочей области автоматически очищается, и он проверяет automation.git .. и запуск завершается неудачно, так как другие клонированные репозитории были очищены…
как с этим справиться.. Я хочу перезапустить сцену, не стирая директорию рабочего пространства.. если мы просто хотим запустить 3-й шаг «развертывание приложения».. Я не могу этого сделать , так как шаг зависит от всех 3 репо.. и при перезапуске только 3-го этапа рабочее пространство стирается.. и поскольку проверка выполняется на 1-м этапе(пропущена) … работа терпит неудачу
как мне запустить только 3-й этап с сохранением старого рабочего пространства ..