Настраивать
У меня две работы в Jenkins:
build master
- строит код и создает артефактdeploy master
- это разворачивает артефакт
В настоящее время deploy master
имеет этап сборки «Копировать артефакты из другого проекта» с использованием «последней успешной сборки».
Моя цель
Я хочу изменить этот шаг с «последней успешной сборки» на «указанную параметром сборки», чтобы я мог выбирать конкретную сборку при развертывании, не изменяя каждый раз конфигурацию задания deploy master
.
Что я пробовал
Во-первых, я изменил значение на «определяется параметром сборки».
Затем я установил флажок рядом с «Этот проект параметризован» и добавил строковый параметр для BUILD_SELECTOR
.
Затем я выбрал сборку и ввел ввод 47
, который является номером сборки из задания build master
.
Кроме того, я попробовал вызов api
$.ajax({
type: 'POST',
url: 'https://jenkins/job/deploy%20master/build?token=abc7f5abc0c45abcea0646ed858abcde&BUILD_SELECTOR=47'
});
Результат
Оба раза это не удалось со следующим выводом:
Started by user styfle
[EnvInject] - Loading node environment variables.
Building in workspace C:\Jenkins\jobs\deploy master\workspace
ERROR: Unable to find a build for artifact copy from: build master
Started calculate disk usage of build
Finished Calculation of disk usage of build in 0 seconds
Started calculate disk usage of workspace
Finished Calculation of disk usage of workspace in 0 seconds
Finished: FAILURE
Вопрос
Как мне правильно настроить это, чтобы я мог указать номер сборки (или какой-либо другой идентификатор) при развертывании?
Обновить с помощью решения
Мое решение, благодаря ответу Герольда, заключалось в том, чтобы добавить параметр «Селектор сборки для копирования артефакта» и использовать новую переменную среды для связи с моим строковым параметром, который я уже добавил.