У меня есть очень простое внутреннее веб-приложение, из которого некоторые сборки Hudson (на другом сервере) могут запускаться удаленно. У меня нет проблем с запуском сборок, но я не знаю, как записать связанный номер сборки для дальнейшего использования.
Я использую buildWithParameters
триггер, и фактический результат этого вызова - просто беспорядок HTML - я не верю, что он возвращает мне номер сборки.
Я начал с извлечения всего списка сборки для задания (через api), а затем попытался согласовать этот список с моими записями - но это намного сложнее, чем мне хотелось бы. Я также подумал о том, чтобы поспать несколько секунд после запуска работы, а затем схватить latestBuild
из Hudson api - но я уверен, что в какой-то момент это пойдет не так (кто-то быстро уволит две работы, и я ошибаюсь в ассоциации).
Я решил это с помощью URI обратного вызова на сервере, который запускает задание. Первое, что делает работа Хадсона, это curl http://example.com/callback/$BUILD_NUMBER
(на самом деле есть другой идентификатор, чтобы сторона триггера могла правильно соответствовать заданию, но вы поняли).
Это оставляет сторону триггера в темноте, пока работа не начнется, но она работает нормально.