Во-первых, то, что вы предположили о
«Задать переменные sauce и secret.Sauce» - это одна задача, а «Чтение переменных» - другая задача
верный. Если вы прочитаете его в той же задаче, вы получите сообщение об ошибке, например "{output variable name}"
.
Если вы используете переменную в том же задании , используйте $()
напрямую, то же самое сиспользование $(<ReferenceName>.<VariableName>)
в большинстве сценариев, включая получение переменных в одном задании агента, и не задание переменных с одинаковым именем в другой задаче. Но, очевидно, $()
является наиболее простым методом.
1. Если вы задали переменную с тем же именем в другой задаче.
Иногда вам может потребоваться выполнить один и тот же сценарий с другим условием, поэтому его результат может иметь то же имя, но другое значение. Одним словом, вам нужно установить разные значения в разных задачах, используя одно и то же имя переменной. И тогда вам нужно выполнить следующую задачу в соответствии со значениями, которые генерируются в разных состояниях.
В настоящее время использование $(<ReferenceName>.<output VariableName>)
является лучшим решением, чтобы получить конкретное значение переменной, которое задает, в каком состоянии. Поскольку действие read может получить только последнее присвоение значения.
2. Если вы хотите использовать эту переменную в другом задании агента
В некоторых крупных проектах следующее задание агента должно использовать переменные, заданные в последнем задании агента (Примечание: Эти 2 задания должны находиться в одном конвейере). Повторный запуск сценария для установки переменной увеличит время, затрачиваемое на сборку, что также увеличит стоимость проверки кода.
При этом условии $(<ReferenceName>.<output VariableName>)
- единственный подход, который может достичь этогосценарий.
НО, до сих пор этот подход поддерживал только схему YAML . Если вы используете классический редактор для реализации этого сценария, вы можете переписать только сценарий с установленной переменной.