Версионирование коллекций#

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

Коллекции версионируются согласно правилу семантического версионирования. Версия коллекции выглядит как:

<major_version>.<minor_version>.<patch>[-rc.<rc_version>]

где:

  • <major_version> – номер мажорной версии. Версия 0 используется для начальной разработки. Номер мажорной версии увеличивается, если в код коллекции добавляются изменения API.

  • <minor_version> – номер минорной версии. Увеличивается при добавлении новой функциональности или существенных изменениях в уже существующей функциональности без нарушения совместимости с более ранним API. Минорная версия обнуляется при увеличении мажорной версии.

  • <patch> – номер срочного обновления при исправлении ошибок. Увеличивается после исправления ошибок в имеющейся функциональность без потери обратной совместимости. Новая функциональность не вносится, существенные изменения в уже существующей не производятся. Это поле обнуляется при увеличении мажорной и минорной версий.

  • (опционально) -rc.<rc_version> – версия Release Candidate (RC) указывает на то, что это еще не финальная версия, но функциональность почти готова к выпуску. Номер версии RC увеличивается по мере подготовки коллекции к выпуску.

Получение списка версий коллекции#

Для получения списка доступных версий коллекции выполните следующие действия:

  1. Перейдите на страницу коллекции в соответствующем разделе Automation Hub.

  2. Нажмите ссылку Tags в описании репозитория.

Указание версии коллекции в файле зависимостей#

Чтобы зафиксировать номер версии используемой коллекции, добавьте к соответствующей записи в файле зависимостей строку с параметром version, например:

---
collections:
  - name: astra.ald_pro
    type: git
    source: ssh://git@hub.astra-automation.ru:2222/aa-gca/ARFA/cups.git
    version: "<version>"

Если это поле отсутствует, будет загружена самая свежая версия коллекции из доступных. В значении поля version можно задать условия, определяющие допустимый диапазон номеров устанавливаемой версии коллекции:

  • * – самая свежая (latest) версия. Это значение используется по умолчанию.

  • != – использовать любую версию, кроме указанной.

  • == – использовать строго указанную версию.

  • >= – использовать указанную версию или более новую.

  • > – использовать более новую версию, чем указанная.

  • <= – использовать указанную версию или более старую.

  • < – использовать версию более старую, чем указанная.

Смотрите более подробную информацию о версионировании коллекций в документации Ansible.

Примеры#

  • Строгое указание версии

    version: "==0.1.1"
    
  • Указанная или более новая версия

    version: ">=0.1"