Инструменты загрузки Jenkins Pipelines - PullRequest
0 голосов
/ 18 июня 2019

Итак, я использую трубопровод Дженкинса, чтобы построить некоторую инфраструктуру с помощью terraform на подчиненном устройстве. Затем мне нужно запустить некоторые регрессионные тесты, чтобы я запускал облачное ведомое устройство по требованию, которое может выполнять эти тесты (облачное ведомое устройство имеет доступ к внутреннему DNS и находится в соответствующей подсети).

Для нового облачного ведомого устройства требуется maven, обычно на ведомом устройстве вы просто добавляете местоположения инструментов, а при запуске ведомого устройства оно копирует инструменты либо из Интернета, либо с главного сервера Jenkins.

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

node(project + '-' + environment + '-' + 'od-slave') {
        def mvnHome = tool 'maven3.3.9'
        sh 'BASE_URL=${BASE_URL} ${mvnHome}/bin/mvn clean install'

        publishHTML(target: [
            reportName : 'Regression Test Results',
            reportDir:   'target/surefire-reports',
            reportFiles: 'index.html',
            keepAll:     true,
            alwaysLinkToLastBuild: true,
            allowMissing: false
        ])
    }

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

Какие-либо советы по получению инструментов (maven) на подчиненном облаке, который не имеет доступа к Интернету?

1 Ответ

0 голосов
/ 19 июня 2019

Так что, если я использую этот метод для запуска maven, он потерпит неудачу, а затем загрузит инструмент maven из мастера:

node(project + '-' + environment + '-' + 'od-slave') {
    withMaven(maven: mavenname) {
        sh 'BASE_URL=${BASE_URL} mvn clean install'
    }

    publishHTML(target: [
        reportName : 'Regression Test Results',
        reportDir:   'target/surefire-reports',
        reportFiles: 'index.html',
        keepAll:     true,
        alwaysLinkToLastBuild: true,
        allowMissing: false
    ])
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...