Jenkins git проверка на агент не работает - PullRequest
0 голосов
/ 06 февраля 2020

Файл Jenkins в моем репозитории github используется в среде Jenkins Master / Slave. Мне нужно выполнить команду тестирования на удаленном подчиненном сервере Jenkins. В моем декларативном конвейере агент называется так:

stage("Testautomation") {
  agent { label 'test-device' }
    steps {
        bat '''
        @ECHO ON
        ECHO %WORKSPACE%
        ... '''
    }
}

Прежде чем Дженкинс сможет выполнить удаленную команду, он начинает извлекать данные из управления версиями. Оформить заказ на Дженкинс Мастер не проблема и работает нормально. Но на этом Рабе Дженкинса я всегда получаю это сообщение об ошибке.

using credential github-enterprise:...
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://...git # timeout=10
Fetching upstream changes from https://...git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials GitHub Enterprise Access Token
 > git fetch --tags --force --progress --depth=1 -- https://...git +refs/heads/development:refs/remotes/origin/development # timeout=120
Checking out Revision ... (development)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f ...
Could not checkout ...

1 Ответ

1 голос
/ 06 февраля 2020

Декларативный конвейер по умолчанию выполняет проверку SCM для каждого агента. Проверьте, установлен ли Git на подчиненном устройстве Jenkins.

И наоборот, если вы хотите, чтобы код извлекался на главном сервере, а не на агенте, отключите проверку по умолчанию в директиве options и используйте команду scm checkout шаг внутрь стадии.

pipeline {
    agent { label 'master' }
    options {
        skipDefaultCheckout(true)
    }
    stages {
        stage('Build') {
            steps {
                checkout scm
                // do other stuff on master
            }
        }
        stage("Testautomation") {
            agent { label 'test-device' }
            steps {
                bat '''
                    @ECHO ON
                    ECHO %WORKSPACE%
                '''
            }
        }
    }
}

Вы можете дополнительно настроить поведение оформления заказа, как описано в этом ответе { ссылка }.

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