AUTO IT EXE для выполнения через Jenkins CI Tool

Я использую CI Jenkins Tool и пытаюсь выполнить файл AUTO IT Exe.

Я пробовал через Jenkins со следующими параметрами, но ничего не получается.

  1. Выполнить аргументы командной строки

  2. командный файл

  3. муравьиный файл

  4. Плагин запуска Windows


person user3243528    schedule 28.01.2014    source источник


Ответы (2)


Запуск AutoIt через Jenkins на подчиненном устройстве будет зависеть от того, как запущено подчиненное устройство. Поскольку вы используете AutoIt, вы используете Windows. Подчиненное устройство Windows НЕ МОЖЕТ быть запущено через SSH или через службу Windows. Вы ДОЛЖНЫ использовать веб-состояние JNLP и ДОЛЖНЫ запускать его определенным образом, чтобы AutoIt работал правильно.

Чтобы заставить AutoIt работать, подчиненный должен сначала иметь пользователя, вошедшего в систему и на рабочем столе. Вы можете сделать это вручную или настроить Windows на автоматический вход при запуске.

Оказавшись на рабочем столе, необходимо использовать метод веб-запуска JNLP. Обычно это означает загрузку slave.jar с сервера Jenkins через curl, затем запуск java с подчиненным устройством и указание на файл jnlp на стороне Jenkins. Желательно автоматизировать это с помощью планировщика, но вы можете сделать это и вручную. Пример см. здесь: https://wiki.jenkins-ci.org/display/JENKINS/Launch+Java+Web+Start+slave+agent+via+Windows+Scheduler

После того, как вы подключите подчиненное устройство таким образом, задание, предназначенное для этого подчиненного устройства, которое запускает AutoIt, должно работать.

ПРИМЕЧАНИЕ. Учитывая характер AutoIt, вы не можете запустить его на главном узле, потому что главный узел никогда не имеет доступа к рабочему столу, который требуется AutoIt. Вы можете настроить подчиненный агент на главном узле, чтобы обойти ограничение.

person Jason Swager    schedule 28.01.2014
comment
Все настроено, подчиненный сервер активирован через JNLP, подчиненный сервер запущен и работает. Я не могу запустить какой-либо exe-файл (установщик) из Jenkins. Примечание. Jenkins находится на 1 сервере, а ведомое устройство, на котором я должен выполнить exe через Jenkins, хранится на другом сервере. - person user3243528; 30.01.2014
comment
Работает ли JNLP с повышенными привилегиями? Это требуется большинству инсталляторов. Используйте расписание задач, чтобы запустить таким образом. - person Jason Swager; 31.01.2014

Единственная причина, по которой вы вызываете свой код из Jenkins, Invoked AutoIt не может найти нужное окно на ведомом/исполняющем компьютере Jenkins.

Решение: Напишите свой скрипт AutoIt и вручную вызовите его исполняющую машину, обработайте всплывающее окно.

person sanjit    schedule 26.08.2015