Как передать build artifact на другую работу в Дженкинс

настройка

у меня две работы в Дженкинсе:

  • build master - это создает код и создает артефакт
  • deploy master - это развертывает артефакт

в настоящее время deploy master имеет" копировать артефакты из другого проекта "шаг сборки с использованием "последней успешной сборки".

build-master

Моя Цель

Я хочу изменить этот шаг с "последней успешной сборки" на "задано параметром сборки", чтобы я мог выбрать конкретную сборку при развертывании без изменения конфигурации deploy master работу каждый раз.

что я пробовал

во-первых, я изменил на "указанный параметром сборки".

build-specific

затем я поставил флажок рядом с "этот проект параметризован" и добавил строковый параметр для BUILD_SELECTOR.

parameter

затем Я выбрал 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

вопрос

Как правильно настроить это, чтобы я мог указать номер сборки (или какой-либо другой идентификатор) при развертывании?

обновление с помощью решения

мое решение спасибо Ответом джерольда было Добавление параметра "селектор сборки для копирования артефакта" и использование новой переменной среды для ссылки на мой строковый параметр, который я уже добавил.

enter image description here

2 ответов


в Jenkins есть только одно рабочее пространство для каждого проекта/задания. Каталоги сборок содержат только информацию о сборках и их результатах.

корневые каталоги обоих указаны в Управление ДженкинсНастройка Системыдополнительно....

развернуть артефакт из предыдущей сборки вы должны скопировать его в другое место в build master и получить доступ к нему там из deploy master позже.

обновление:

см. встроенную справку для построитьИмя Параметра:

параметр с таким именем должен быть добавлен в разделе Параметры построения. Существует специальный тип параметра для выбора селектора сборки.

использовать построить селектор для копирования артефакта вместо строка Параметр.


добавить следующее в нисходящий проект. "Построить селектор для копирования артефакта "вместо" строкового параметра"

"Build selector for Copy Artifact" instead of a "String Parameter"!!

копировать артефакты из другого проекта

enter image description here

вот и все. Нажмите "построить с параметрами" и передайте номер сборки enter image description here