Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Наборы значений в библиотеке переменных предоставляют альтернативные наборы значений для определенных переменных, поддерживая такие сценарии, как конфигурации, относящиеся к среде (например, разработка, тестирование A/B или переключение источников данных в одной рабочей области.
Каждый набор значений создается в виде коллекции указателей на значение переменных по умолчанию, которое можно переопределить по мере необходимости. Только один набор значений может быть активным в то время для данной рабочей области, и пользователи могут легко переключать активный набор с помощью пользовательского интерфейса или API.
Наборы значений уникально именуются в библиотеке и могут быть переименованы, переупорядочены (только через git или обновление с помощью API определения) или удалены (с защитой, чтобы предотвратить удаление активного набора без переназначения). Система отслеживает изменения и применяет ограничения размера, чтобы обеспечить производительность, и все изменения наборов значений проверяются перед сохранением. Эта структура обеспечивает надежное управление конфигурацией, позволяя разработчикам автоматизировать развертывания и поддерживать согласованность в нескольких средах и стадиях.
Структура и реализация наборов значений
Определение элемента библиотеки переменных структурировано для поддержки нескольких наборов значений. В схеме элемента (его определение JSON) все переменные и их значения по умолчанию перечислены в основном разделе (часто называемом файлом "Значения по умолчанию" в Git). Каждый дополнительный набор значений хранится в виде отдельной сущности (или файла), содержащей только переменные, отличающиеся от значения по умолчанию. Другими словами, если значение переменной в заданном наборе значений совпадает со значением по умолчанию, оно не повторяется явно в определении этого набора значений.
Набор значений по умолчанию: Всегда присутствует и содержит базовое значение каждой переменной (а также метаданные, такие как имя и тип). Файл значений по умолчанию перечисляет все переменные со значениями по умолчанию (первичными).
Альтернативный набор значений: для каждого дополнительного набора значений (например, набора значений Test или Prod) определение содержит только те переменные, в которых значение переопределяет значение по умолчанию. Если переменная не указана в определенном файле набора значений, она неявно использует значение по умолчанию для этого набора.
Пример: если у вас есть переменная ConnectionString со значением по умолчанию "dev-server" и вы создаете набор значений "Production", переопределяющий его на "prod-server", то в определении по умолчанию будет ConnectionString = "dev-server", а в файле набора "Production" будет содержаться ConnectionString = "prod-server" (и ничего для переменных, которые остаются неизменными). Этот подход обеспечивает компактность определений наборов значений и выделяет только различия.
Представление системы управления версиями
В интеграции Git Fabric приведенная выше схема преобразуется в несколько файлов в папке библиотеки переменных. По проектированию каждый набор значений сериализуется в собственный JSON-файл (именованный после набора значений), содержащий его переопределения, отдельно от файла значений по умолчанию. Например, элемент VL "MyVars" может иметь следующее:
MyVars_Default.json — значения по умолчанию всех переменных. MyVars_Prod.json — только переменные со значениями, отличающимися для этапа "Prod". MyVars_Test.json — только переменные со значениями, отличающимися для этапа Test.
Это четкое разделение означает, что вы можете независимо отслеживать изменения конфигурации каждой среды в системе управления версиями.
Важно отметить, что выбор активного набора значений не является частью этих файлов определений. Он хранится как состояние элемента (параметр уровня рабочей области), чтобы развертывание или импорт элемента не перезаписывало, какой набор значений в настоящее время активен в данной рабочей области. (Дополнительные сведения об активных наборах значений ниже.)
Схемы и типы данных
Наборы значений не вводят новые типы данных; они содержат значения одинаковых типов, определенных каждой переменной. Определение элемента записывает имя каждой переменной, тип, значение по умолчанию и необязательное примечание. Сложные типы переменных, такие как ссылка на элемент и ссылка на подключение , имеют структурированные схемы (сохраняющие идентификаторы), но эти значения представлены в каждом наборе значений с помощью согласованной структуры JSON (например, ссылка на элемент сохраняет идентификатор рабочей области и идентификатор элемента для элемента этого этапа). Все файлы наборов значений соответствуют той же структуре схемы, что и по умолчанию: по сути это отображение имен переменных на значения этого набора (только те, которые отличаются от значений по умолчанию).
Соглашения об именовании для наборов значений
Имя набора значений в библиотеке переменных должно соответствовать следующим соглашениям:
- Не пуст
- Не содержит начальных или конечных пробелов
- Начинается с буквы или подчеркивания
- Может включать буквы, цифры, символы подчеркивания и дефисы
- Длина не превышает 256 символов
После того как переменная имеет определенное значение, при попытке изменить его тип появится диалоговое окно согласия. В диалоговом окне отображается предупреждение о том, что все значения переменной будут сброшены и что это изменение может быть критическим изменением на стороне элемента потребителя.
Соображения и ограничения
Ограничения для альтернативных наборов значений
- Альтернативные наборы значений в библиотеке переменных отображаются в порядке их добавления. В настоящее время вы не можете переупорядочение их в пользовательском интерфейсе. Чтобы изменить порядок, измените JSON-файл напрямую.
- Имя каждого набора значений должно быть уникальным в библиотеке переменных.
- Имена переменных должны быть уникальными в библиотеке переменных. Вы можете иметь две переменные с одинаковым именем в рабочей области, если они в разных элементах.
- Всегда один (и только один) активный параметр, заданный в библиотеке переменных одновременно. Вы не можете удалить набор значений, пока он активен. Чтобы удалить его, сначала настройте другое значение, которое должно быть активным. Для каждого этапа конвейера развертывания можно задать другое активное значение.