1

Мы используем Jenkins для тестирования нашего программного обеспечения как в Windows, так и в Linux. Наш сервер Jenkins (на котором нет подключенных дисков с данными) запускает подчиненное задание Jenkins на одном из наших компьютеров с Windows, который затем должен получать данные с сетевого диска, который необходимо подключить с другими учетными данными пользователя.

Итак, мне нужно что-то вроде

net use \\server\share /u:username PASSWORD
copy data

Проблема в том, что я не хочу писать PASSWORD в моем скрипте выполнения Jenkins.

В Linux мы используем SSH-файл ключа и scp для этого, но что эквивалентно этому в Windows?

1 ответ1

0

Вы можете использовать встроенный магазин Дженкинса "Credentials" только для этого. Просто создайте новый объект "Учетные данные" (введите: имя пользователя и пароль), а затем -

Если это работа конвейера:

withCredentials([usernamePassword(credentialsId: 'MyCredentialsObjectId', passwordVariable: 'CREDS_P', usernameVariable: 'CREDS_U')]) {
    bat """
        net use \\server\share /u:%CREDS_U% %CREDS_P%
        REM copy data...
    """
}

Если это работа вольным стилем, настройте объект учетных данных для использования в разделе "Среда сборки", а затем используйте пакетный шаг таким же образом.

Учетные данные будут надежно поддерживаться внутри Jenkins и никогда не появятся в коде. Кроме того, Дженкинс позаботится о том, чтобы учетные данные не попадали в вывод консоли, заменив имена пользователей и пароли звездочками (***).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .