Как построить этап, основанный на изменении кода с Jenkins? - PullRequest
0 голосов
/ 07 января 2020

Давайте предположим, что у нас есть git репо с некоторым кодом в нем.

Теперь мы хотим построить несколько docker контейнеров с помощью jenkisfile следующим образом:

        stage('Building image 1') {
            steps{
                script {
                    'sh docker build -f 1'
                }
            }
        }
        stage('Building image 2') {
            steps{
                script {
                    'sh docker build -f 2'
                }
            }
        }

Как я могу запустить сборку только на одном этапе на основе изменений в некоторых файлах.

Другими словами: допустим, у меня есть 2 файла, и я хочу собрать только этап 1 IF файл 1 содержит изменения, или я хочу построить только этап 2 IF если файл 2 изменился?

1 Ответ

3 голосов
/ 07 января 2020

Ресурс: jenkins.io/doc/book/pipeline/syntax искать набор изменений

Пример будет выглядеть примерно так:

stage('Building image 1') {
    when {
        changeset "some_folder/some_file1"
    }
        steps{
            script {
                'sh docker build -f 1'
            }
        }
    }
stage('Building image 2') {
    when {
        changeset "some_folder/some_file2"
    }
    steps{
       script {
           'sh docker build -f 2'
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...