настраиваемые переменные ресурсов конвейера

avatar
lastr2d2
8 августа 2021 в 21:31
380
1
1

У меня есть конвейер Azure, который использует артефакты, созданные другим конвейером. Что-то вроде этого

resources:
  pipelines:
  - pipeline: BuildPipeline
    source: project-ci

С помощью этой ссылки я могу ссылаться на некоторые переменные ресурсов конвейера, такие как resources.pipeline.BuildPipeline.runName.

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

Источник
Daniel Mann
8 августа 2021 в 22:12
0

Между трубопроводами? Нет. Какие данные вы пытаетесь сохранить?

lastr2d2
8 августа 2021 в 22:16
0

это строка, представляющая номер версии части моих артефактов. почему-то я не могу использовать эту часть артефакта с номером сборки, поэтому и спрашиваю

koushik
9 августа 2021 в 06:23
1

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

lastr2d2
9 августа 2021 в 07:24
0

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

Ответы (1)

avatar
Leo Liu-MSFT
9 августа 2021 в 07:50
1

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

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

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

Шаги:

  • Определить переменную в следующем определении конвейера Variable.

  • Добавить задачу для вызова REST API (Определения - Обновление) в конвейере ресурсов, чтобы обновить значение вышеуказанной переменной в конвейере более позднего выпуска.

  • Использовать обновленное значение переменной более позднего конвейера в более позднем конвейере.

Подробную информацию об использовании REST API для обновления значения переменной определения вы можете найти в билете ниже:

Как изменить переменную определения выпуска Azure DevOps из задачи выпуска?

или вы можете использовать Azure CLI для обновления переменной:

az pipelines variable update --name
                             [--allow-override {false, true}]
                             [--detect {false, true}]
                             [--new-name]
                             [--org]
                             [--pipeline-id]
                             [--pipeline-name]
                             [--project]
                             [--prompt-value {false, true}]
                             [--secret {false, true}]
                             [--subscription]
                             [--value]