Правильное монтирование пространства имен Windows DFS в Linux / Объект удален

Это идеальный сценарий для глобальной конфигурации инструмента. На домашней странице Jenkins нажмите Управление Jenkins -> Глобальная конфигурация инструмента . Если у вас установлена ​​установка по умолчанию, эта страница позволит вам добавить несколько конфигураций для установки Maven на ваши серверы сборки.

Global Tool Configuration for Maven

После того, как вы настроили инструменты, вы можете использовать их в своих заданиях, добавив шаги сборки «Вызвать целевые объекты Maven верхнего уровня». Если вы используете определенные подчиненные устройства/узлы для каждого задания, вы можете выбрать Maven, который должен быть установлен на каждом сервере. Затем, когда задания будут запущены, Jenkins будет автоматически управлять установкой.

"Invoke Top Level Maven Targets" Build Step

Специально для трубопроводов,есть плагин Pipeline Maven Integration . Я не использовал его, но из документации похоже, что он должен делать то, что вы просите:

Provides Maven integration with Pipeline Plugin by using the withMaven step, which configures a maven environment to use within a pipeline job by calling sh mvn or bat mvn.

И это сообщение в блоге, Декларативный конвейер для проектов Maven , дает хороший пример настройки Jenkins для запуска конвейера с Maven.

1
30.09.2020, 12:50
2 ответа

Наконец-то мне удалось решить проблему на моей стороне. Мне пришлось установить систему Debian buster (linux kernel 5.4.x ), чтобы иметь возможность использовать динамическую отладку, поскольку одно сообщение об ошибке было скрыто от уровня пользователя.

Шаги по отладке неудачного монтирования CIFS приведены в:

Они дали мне более подробный журнал ошибок:

[...]
[  687.037593] fs/cifs/dns_resolve.c: dns_resolve_server_name_to_ip:
unable to resolve: MYSERV13
[  687.037606] fs/cifs/cifs_dfs_ref.c: cifs_compose_mount_options:
Failed to resolve server part of //MYSERV13/network to IP: -2
[...]

Это была подсказка. Мне просто нужно было обновить resolve.confс :

.
search acme.corp

-:

search acme.corp mydoma01.acme.corp

Наконец-то я смог позвонить mount -t cifsбез опции nodfs, которая была проблемой с самого начала.

Симптомы больше не являются ошибкой и просто информативны:

$ cd subfolder2
CIFS VFS: BAD_NETWORK_NAME: \\MYSERV13\network
[...]

Наконец-то я могу без проблем получить доступ к содержимому subfolder2.

Обратите внимание, что в моей системе Ubuntu (ядро ​​Linux 5.0.x )мне пришлось явно указать версию для CIFS, чтобы вышеуказанное работало(vers=1.0).

Ссылка:

2
28.04.2021, 23:25

В настоящее время единственным обходным решением, которое я нашел, является использование DFS Referral list. Итак, из моего окна Windows я перехожу к проблемному значку символической ссылкиsubfolder2(), щелкните правой кнопкой мыши, чтобы получить свойства:

DFS Referral list

Затем вернитесь к моему сеансу Linux и смонтируйте вместо этого:

$ sudo mount -t cifs //xyzclus01-cifs.mydoma.acme.corp/Disk12 ~/disk12 -v -o username=malat,domain=MY,uid=$(id -u),gid=$(id -g),iocharset=utf8,nodfs,vers=1.0
Password for malat@//xyzclus01-cifs.mydoma.acme.corp/Disk12:  *********
mount.cifs kernel mount options: ip=5.6.7.8,unc=\\xyzclus01-cifs.mydoma.acme.corp\Disk12,iocharset=utf8,nodfs,vers=1.0,uid=1002,gid=1002,user=malat,domain=MY,pass=********

Наконец-то я могу (! )получить доступ к содержимому subfolder2. Это довольно громоздко и контр -интуитивно понятно. Так что это в лучшем случае можно назвать работой -, а не реальным решением.

1
28.04.2021, 23:25

Теги

Похожие вопросы