Интерактивный режим Гудзона: - Есть ли один? - PullRequest
0 голосов
/ 22 декабря 2010

Я довольно новичок в системе сборки Hudson. В настоящее время мои сборки выполняются из комбинации сценариев perl / cgi с возможностью запуска из браузера. Что мне нужно, так это возможность в hudson извлекать файл из перформанса (может сделать это), анализировать этот файл (я могу написать скрипт для этого) и на основе результата разбора дать пользователю возможность выбирать различные варианты что собирать (компилировать). Это возможно? Я не уверен, должен ли я связать несколько разных проектов, чтобы сделать это или нет? Любые идеи по этому поводу могут быть очень полезны.

Ответы [ 3 ]

1 голос
/ 22 декабря 2010

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

В вашем случае я бы критически посмотрел на ваш процесс сборки и выяснил, можно ли адаптировать дизайн процесса для полной автоматизации или нет.Это нормально, строить все с помощью CI-решения, даже если это займет некоторое время.Таким образом, вам не нужно взаимодействие с пользователем, и вы сразу же получите, если какой-то компонент сломался (реальная цель CI).Обязательно изучите все многие плагины Hudson .В зависимости от того, как часто ваши параметры сборки действительно меняются, вы можете запустить матричную сборку и все возможные (и действительные) комбинации параметров сборки в одном задании.Само собой разумеется, что возможные варианты должны быть известны заданию до его запуска.

Один (из многих) возможных обходных путей для того, что вы хотите сделать, может состоять в том, чтобы иметь два задания, первое из которых проверяется.файл от силы и создает HTML-страницу с возможными параметрами и сохраняет ее как артефакт.HTML-страница позволяет вам выбрать параметры и вызывает по вашему запросу вторую работу в Гудзоне.Выбранные параметры будут переданы во второе задание в качестве одного (или нескольких) параметров.Который чем строит проекты в зависимости от переданных в него опций.Вы также можете изменить конфигурацию второго задания с помощью remote API , в этом случае доступные параметры будут установлены в качестве параметров выбора во втором задании.Когда вы запускаете второе задание вручную, вам просто нужно задать параметры, и все готово.Это уродливый обходной путь, и я бы не рекомендовал его.

0 голосов
/ 23 декабря 2010

Вы можете использовать параметризованные сборки Hudson - должен быть установлен флажок, чтобы позволить вам выбрать параметризацию сборки и добавить параметры.

Конечно, это не позволит вам получить список параметров из самой сборки, так как он не может заглянуть в будущее, но если вы знаете, что они опередят, вы можете просто пропустить их от Гудзона до вашего сценария в соответствующей точке.

http://wiki.hudson -ci.org / дисплей / HUDSON / Параметризованная + Постройте

0 голосов
/ 22 декабря 2010

Нет, нет пути. Хадсон предназначен для работы без взаимодействия с пользователем. В этом весь смысл - вы настраиваете задания, которые запускаются по расписанию или запускаются всякий раз, когда код возвращается.

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

...