Как указать пользовательский путь для удаленного узла на Jenkins? - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть сервер Jenkins.Он работает на D: \ Jenkins.

В моем файле jenkins есть следующее:

pipeline {
    agent {
        node{
            label 'windows-node'            
            customWorkspace "${JENKINS_HOME}\\${env.BRANCH_NAME}"
        }
    }
//...
}

Это работало нормально и пытается использовать D: \ jenkins \ feature \testbranch (на примере).

Теперь я настроил новый узел, и у него есть только один диск, C: \

Удаленный узел имеет Remote root directory, настроенный как C:/ws.Поэтому я ожидал, что моей выходной папкой будет C:/ws/feature/testbranch.

Но, похоже, он пытается получить доступ к D:\jenkins\feature\testbranch на удаленном узле.Как использовать корневую папку для конкретного узла в файле Jenkins?

1 Ответ

0 голосов
/ 11 декабря 2018

Таким образом, эта переменная является специфичной для мастера.Вам, вероятно, понадобится переменная среды, которая будет указывать на местоположение, которое согласованно для ваших ведомых устройств (например, WKSPC_LOC), установить его в вашей среде Windows и использовать что-то вроде customWorkspace "$ {WKSPC_LOC} \ $ {env.BRANCH_NAME}", обратите внимание, чтоВы все еще должны установить это в каждом рабе.В целом, для КИ одинаковое отношение к разным вещам создает проблемы.Так что раб должен быть таким же (последовательным).На данный момент я не думаю, что есть способ иметь разные места рабочего пространства для главного и подчиненного.В Linux вы могли бы использовать ссылки sym, но я не могу придумать решение для Windows, кроме того, что я упоминал ранее, но я все еще сомневаюсь, что оно будет работать.

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