Jenkins Pipeline Checkout SVN для пользовательского рабочего пространства - PullRequest
0 голосов
/ 18 сентября 2018

Я сейчас пишу сценарий Jenkins Pipeline (декларативный).В основном так:

pipeline {
    agent any
    environment {
        NLS_LANG = 'GERMAN_GERMANY.AL32UTF8'
    }
    stages {
        stage('Test') {
            steps {
                script {
                    echo "Test"
                }
            }
        }
    }
}

Сам скрипт отлично работает.Но теперь мы выяснили, что jenkins сначала проверяет наш SVN-репозиторий, чтобы найти Jenkinsfile (извлечение в папке workspace@script в job Folder> C:\jenkins_home\jobs\<Projectname>\jobs\<Jobname>).

После проверки всего SVNснова на втором шаге, который я не написал в Jenkinsfile (название: "Declarative: SCM Checkout").Было бы хорошо, если бы мы могли изменить путь к этой проверке, потому что в данный момент она проверяется в новой созданной папке workspace в job folder.

Здесь у меня есть скриншот из вывода консоли конвейерного задания: enter image description here

Как можно получить извлечение в пользовательском рабочем пространстве?

Предпочтительно, чтобы при первом извлечении файл Jenkins был извлечен сам, а не весь репозиторий.Я попытался изменить repository url на папку, в которой сохранен файл Jenkinsfile (один), но затем конвейер также (только) извлекает эту папку во второй проверке.

Здесь у меня есть скриншотконсольный вывод пытается это:

1 Ответ

0 голосов
/ 24 октября 2018

Кому это может понадобиться при решении этого вопроса: используйте ws ('/ path / to / dir') для выделения другого каталога (см. Pipeline: узлы и процессы )

pipeline {
    agent any
    environment {
        NLS_LANG = 'GERMAN_GERMANY.AL32UTF8'
    }
stages {
    stage('Test') {
        steps {
            script {
                echo "Test"
                ws('/path/to/dir'){
                    //dosomething here, like "checkout scm"
                }
            }
        }
    }
}    
...