DevOps Azure, передающие динамически назначенные переменные между узлами сборки

Я использую DevOps Azure в агенте сборки vs2017-win2016 для предоставления некоторой инфраструктуры с использованием Terraform.

Что я хочу знать, так это то, что можно передать Terraform Output хоста, которому динамически назначен IP-адрес, во 2-е задание, на котором работает другой агент сборки.

Я могу передать их для создания переменных в первом задании BASTION_PRIV_IP=xxxx BASTION_PUB_IP=1.1.1.1

Но я не могу заставить эти переменные выглядеть использованными во втором агенте сборки, работающем под управлением ubuntu-16.04. Я могу передать любые статические определенные параметры, такие как имя группы ресурсов Azure, которые я определяю перед началом работы, только динамически назначенные,

1 ответ

Решение

Это довольно легко сделать, когда вы используете сборки на основе YAML. Важно знать, что переменные доступны только в рамках текущей работы по умолчанию. Однако вы можете установить переменную в качестве выходной переменной для вашей работы. Затем эту выходную переменную можно сопоставить с переменной во втором задании (обратите внимание, что вам нужно установить первое задание как зависимость для второго задания).

Пожалуйста, смотрите следующую ссылку для примера того, как заставить это работать

https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch#set-a-multi-job-output-variable

Это также может быть выполнимо в типе сборки визуального дизайнера, но я не смог заставить это работать в быстром тесте, который я сделал, может быть, вы можете получить что-то для работы вдохновленное на связанном примере.

Другие вопросы по тегам