Как передать build artifact на другую работу в Дженкинс
настройка
у меня две работы в Дженкинсе:
-
build master
- это создает код и создает артефакт -
deploy master
- это развертывает артефакт
в настоящее время deploy master
имеет" копировать артефакты из другого проекта "шаг сборки с использованием "последней успешной сборки".
Моя Цель
Я хочу изменить этот шаг с "последней успешной сборки" на "задано параметром сборки", чтобы я мог выбрать конкретную сборку при развертывании без изменения конфигурации deploy master
работу каждый раз.
что я пробовал
во-первых, я изменил на "указанный параметром сборки".
затем я поставил флажок рядом с "этот проект параметризован" и добавил строковый параметр для BUILD_SELECTOR
.
затем Я выбрал build и введите input 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:Jenkinsjobsdeploy masterworkspace
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
вопрос
Как правильно настроить это, чтобы я мог указать номер сборки (или какой-либо другой идентификатор) при развертывании?
обновление с помощью решения
мое решение спасибо Ответом джерольда было Добавление параметра "селектор сборки для копирования артефакта" и использование новой переменной среды для ссылки на мой строковый параметр, который я уже добавил.
2 ответов
в Jenkins есть только одно рабочее пространство для каждого проекта/задания. Каталоги сборок содержат только информацию о сборках и их результатах.
корневые каталоги обоих указаны в Управление Дженкинс → Настройка Системы → дополнительно....
развернуть артефакт из предыдущей сборки вы должны скопировать его в другое место в build master
и получить доступ к нему там из deploy master
позже.
обновление:
см. встроенную справку для построить → Имя Параметра:
параметр с таким именем должен быть добавлен в разделе Параметры построения. Существует специальный тип параметра для выбора селектора сборки.
использовать построить селектор для копирования артефакта вместо строка Параметр.