Автоматическое обнаружение инструмента с помощью Jenkins / Hudson? - PullRequest
1 голос
/ 29 июня 2011

Какие механизмы существуют в Jenkins / Hudson для автоматического обнаружения инструментов, установленных на узлах?

Например, установлены платформы .NET, версии Visual Studio, инструменты Setup-Builder, установленныеисполняемые файлы языка сценариев и т. д.

В настоящее время я пытаюсь выяснить, если и как (и имеет ли это смысл), Дженкинс может автоматически определять наши инструменты, которые я должен установить на всех узлах (Salves).

Поскольку наши Узлы являются машинами Windows, пути жесткого кодирования не имеют смысла (IMHO) из-за несоответствия путей Windows 64-битной версии по сравнению с 32-битной / XP по сравнению с Windows 7 / версиями на других языках.* Кроме того, довольно много инструментов требуют установки, поэтому просто зеркальное отображение файлов не подходит.

Очевидно, я мог бы просто определить набор переменных среды для наших инструментов и использовать их от Jenkins.,Но я скорее использую / создаю что-то, что делает новые узлы / подчиненные автоматически настраиваемыми.

Вы также можете прочитать этот вопрос как: Можно ли написать плагин, который автоматически обнаруживает "вещи""на ведомых устройствах Windows и делает их доступными в качестве свойств узла? (и с чего бы мне начать, если бы я хотел это сделать?)

Ответы [ 2 ]

0 голосов
/ 13 мая 2013

Я пошел по пути наличия набора общих переменных среды для всех узлов. Так как мне все равно приходится вручную управлять тем, что установлено на узлах Windows - у многих инструментов есть установщики, которые мне нужно запустить перед их использованием - настройка переменных среды на каждом узле не такая уж большая проблема. (У меня есть небольшой пакетный скрипт, который настраивает все через setx.)

0 голосов
/ 29 июня 2011

AFAIK, единственными инструментами, которые Jenkins может автоматически настраивать, являются Java JDK, Ant и Maven. Я не уверен, что другие плагины могут сделать.

Возможно, вам придется пойти по пути переменных среды, или вы можете создать мультиконфигурационное задание, которое установит ваши инструменты на подчиненные, если они еще не существуют. Это предполагает, что ваши инструменты могут выполнять тихую установку, и вы можете указать каталог установки (одинаковый для всех платформ).

...