Конфигурация рабочей области многоотраслевого конвейера Jenkins - PullRequest
0 голосов
/ 26 сентября 2018

Я сталкиваюсь с JENKINS-38706 .И так как он был открыт некоторое время, я пытаюсь обойти его.

Моя проблема в том, что я запускаю многоузловой конвейер, с одним из узлов, являющимся ведомым устройством Windows, с символом 255ограничения пути.

Итак, я пытаюсь изменить рабочее пространство для этапов ведомых окон Windows, и вместо использования C: \ jenkins \ workspace \ job-branch-randomcharacters, которые использует многоотраслевой конвейер, япытается переместить его в c: \ w \ job \ branch.

Сразу возникает ошибка:

Branch indexing
Obtained Jenkinsfile from 5bc168fcd5b3707048ad4bca4b5ef7478d759531
Running in Durability level: MAX_SURVIVABILITY
[BFA] Scanning build for known causes...
[BFA] No failure causes found
[BFA] Done. 0s
[Bitbucket] Notifying commit build result
[Bitbucket] Build result notified
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 52: Too many arguments for map key "ws" @ line 52, column 15.
                    ws('C:\\w\\$JOB_NAME\\$BRANCH_NAME') {

Мой фрагмент Jenkinsfile:

            stage ('Snapshot-WINDOWS') {
                agent {
                    node {
                        label 'win'
                        ws('C:\\w\\$JOB_NAME\\$BRANCH_NAME') {
                            body()
                        }
                    }
                }
                steps {
                    withMaven(
                        maven: 'Maven 3.5.3',
                        mavenSettingsConfig: 'settings'
                    ) {
                        bat 'mvn clean install'
                    }
                }
            }

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Чтобы ответить на мой собственный вопрос, вместо использования ws () мне нужно было использовать customWorkspace, а $ BRANCH_NAME автоматически добавляется с многоотраслевыми конвейерами.

        stage ('Snapshot-WINDOWS') {
            agent {
                node {
                    label 'win'
                    customWorkspace 'C:\\w\\$JOB_NAME'
                }
            }
            steps {
                withMaven(
                    maven: 'Maven 3.5.3',
                    mavenSettingsConfig: 'settings'
                ) {
                    bat 'mvn clean install'
                }
            }
        }
0 голосов
/ 27 сентября 2018

Вы забыли объявить рабочее пространство.Пример:

def wsDir = "/some/path/${env.BRANCH_NAME}"
ws (wsDir) {
// some block
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...