WedX - журнал о программировании и компьютерных науках

Запустить командный файл от имени администратора на Дженкинсе?

Мы используем Jenkins на Win8 x64 для сборки (msbuild), упаковки (cspack), запуска (csrun) и тестирования (nunit) проекта облачных служб Azure. Эмуляторы облачных служб Azure должны запускаться от имени администратора, а также нам необходимо выполнить привязку к портам 80/443 (поэтому мы не можем использовать «упрощенные» эмуляторы).

Мы делаем это с помощью простого файла .bat, который запускает Дженкинс. Обычно ни один пользователь не входит в систему, она загружается, и Jenkin работает как служба, которая отслеживает наш репозиторий GIT и электронные письма при сбоях. Администратор вручную входит в систему только для обслуживания (например, для применения исправлений или перезагрузки машины и т. д.).

Как настроить Jenkins для запуска этого .bat от имени администратора без участия человека?

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


Ответы:


1

Наше решение состояло в том, чтобы запустить службу Jenkins в качестве отдельного локального администратора. После установки Jenkins запустите => «службы» => прокрутите до службы Jenkins => щелкните правой кнопкой мыши => свойства => «войти в систему» ​​=> «эта учетная запись» => укажите учетную запись локального администратора.

Надеюсь, в более новых сборках Jenkins он может работать как стандартная СЕТЕВАЯ СЛУЖБА, но по какой-то причине этого не произошло с нашей коробкой.

26.06.2015
  • Не могу найти вариант, это так в Windows 10? 06.03.2019
  • Работает как часы. У меня была такая же проблема с моим экземпляром jenkins, выполняющим команду bat, большое спасибо, чувак 13.11.2019

  • 2

    Одно из решений:

    1. Создайте bat-файл в слейве.
    2. Создайте ярлык файла и щелкните правой кнопкой мыши ярлык, свойства -> Дополнительно -> проверить запуск от имени администратора.
    3. Панель управления -> Система и безопасность -> Центр поддержки -> Изменить настройки контроля учетных записей и установить уровень «Никогда не уведомлять».
    4. запустить файл на Jenkins

    Каким-то образом файл будет выполняться на подчиненном сервере, но на Jenkins он вернет ошибку.

    08.12.2015
  • ради интереса, если бы ваш файл был update.bat, ярлык был бы update.bat.lnk, на который вы затем можете ссылаться в Jenkins. 24.05.2017
  • Дженкинс не может определить .lnk как .bat... как это решить? 05.03.2019
  • Каким-то образом файл будет выполняться на подчиненном сервере, но на Jenkins он вернет ошибку. Вы, ребята, нашли способ узнать, прошел ли исполняемый файл нормально или нет? 06.03.2019

  • 3

    Это моя ситуация:

    Мне нужно использовать привилегированную консоль администратора для запуска скрипта pywinauto (написанного на python) для автоматизации некоторых приложений, для которых требуются привилегии администратора.

    Что я пробовал:

    1. По моему опыту, установка подчиненного устройства Windows Jenkins в качестве службы создает больше проблем, о которых нужно позаботиться, поэтому я не иду по этому пути.
    2. Чтобы создать новый процесс, он откроет новую привилегированную оболочку администратора и запустит на ней команду. Но, таким образом, Дженкинс не покажет свою производительность, скажем, в Голубом океане.

    Что сработало для меня:

    1. Просто вручную откройте привилегированную консоль администратора, чтобы запустить файл your_window_node.jnlp, и тогда этот ведомый Jenkins будет иметь привилегию администратора.
    22.11.2019
  • Спасибо, Бен. Пункт 3 - у меня сработало. Сэкономил мое время. 09.01.2021

  • 4

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

    11.12.2014
  • Как мы запускаем подчиненный агент? Новое в настройке, но мы установили его как службу, которая активируется каждый раз, когда сервер сборки подключается к сети. Спасибо! 11.12.2014
  • Я не думаю, что это имеет значение, какой пользователь вошел в систему Windows? Я думаю, что если вы войдете в систему как пользователь-администратор, все будет в порядке. 11.12.2014
  • Обычно ни один пользователь не входит в систему, она загружается, и Jenkin работает как служба, которая отслеживает наш репозиторий GIT и электронные письма при сбоях. Администратор входит в систему только для обслуживания (например, для применения исправлений или перезагрузки машины и т. д.). 11.12.2014
  • Попробуйте следующее: stackoverflow.com/questions/22888712/ 11.12.2014
  • Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]