Как очистить конвейер перед проверкой хранилища в Jenkinsfile - PullRequest
1 голос
/ 31 марта 2020

Я хочу выполнить операцию clean before checkout, которая описана в документации к плагину Jenkins git :

Очистить перед проверкой Очистить рабочее пространство перед каждой проверкой, удалив все неотслеживаемые файлы и каталоги, включая те, которые указаны в .gitignore. ...

Но как добавить эту опцию к шагу проверки по умолчанию, который выполняется в качестве первого шага?

Я чувствую, что эта опция должна быть расширена с помощью плагина git, который может быть включен в блок options Jenkinsfile, как описано в docs :

Директива options позволяет настраивать параметры c, определяемые Pipeline, из самого Pipeline. Pipeline предоставляет ряд этих опций, таких как buildDiscarder, но они также могут быть предоставлены plugins ...

Но как узнать, какие опции и их названия этот плагин предлагает? Не нашел в документах, также я могу ошибаться, что clean before checkout нужно поместить в options блок Jenkinsfile.

Пожалуйста, помогите.

1 Ответ

1 голос
/ 01 апреля 2020

Как уже упоминалось в комментариях, путь к go заключается в использовании skipDefaultCheckout() ( Source ) в ваших параметрах конвейера, чтобы не извлекать хранилище, если конвейер запускается.

skipDefaultCheckout

Пропустить извлечение кода из системы контроля версий по умолчанию в директиве агента.

Чтобы получить хранилище вручную, вы можете использовать checkout scm ( Источник )

pipeline {
    agent any
    options {
        skipDefaultCheckout()
    }
    stages {
        stage('Example') {
            steps {
                // Cleanup before starting the stage
                // deleteDir() / cleanWs() or your own way of cleaning up

                // Checkout the repository
                checkout scm 

                // do whatever you like
            }
        }
    }
}
...