как сравнить две ветки git на декларативном конвейере? - PullRequest
0 голосов
/ 22 мая 2018

Мне нужно сравнить две удаленные ветви в моем конвейере.

Сначала я попробовал следующую команду

sh(script: "git diff --name-only origin/branch1 origin/branch2", returnStdout: true)    

Но Дженкинс не смог распознать обе ветви.Он распознает только тот, который предоставлен checkout scm.

Затем я попытался сделать выборку

withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'ID',
        usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) {
                    sh("git fetch origin branch 1")

}    

, но получил следующую ошибку:

fatal: не удалось прочитать имя пользователя для HTTP_BITBUCKET_LINK: нет такого устройства илиадрес

Я также попробовал sshagent, но я получил ту же ошибку.

Подскажите, пожалуйста, можно ли сравнить две ветви и как?

1 Ответ

0 голосов
/ 22 мая 2018

Мне удалось решить эту проблему.

Я сконфигурировал Jenkins для использования источников извлечения через ssh в разделе о поведении.

И я использовал следующий код:

sshagent(credentials: [CREDENTIAL_GIT_SSH]) {

    sh "git fetch --no-tags origin '+refs/heads/BRANCHE1:refs/remotes/origin/BRANCHE1'"

            def gitDiff = sh(script: "git diff --name-only origin/BRANCHE1...origin/BRANCHE2", returnStdout: true).trim()

} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...