Как насчет схемы управления версиями Terraform? - PullRequest
0 голосов
/ 26 октября 2019

Я уже некоторое время пользуюсь terraform , и у меня всегда возникает вопрос, какая схема управления версиями использует terraform-core?

Это семантическое управление версиями AKA Semver? Потому что, если это так, то почему обновление в минорной версии, например, при обновлении проекта с 0.11.X до 0.12.Y, записывает состояние terraform с этим 0.12.x, и ему не разрешается понижать его до 0.11.x?

Другая вещь, связанная с этим: почему они предпочитают начинать номера своих версий с 0.XX , а не с 1.XX? Это что-нибудь значит?

1 Ответ

1 голос
/ 28 октября 2019

Они используют семантическое управление версиями, но их интерпретация немного отличается от большинства.

Вот ответ на вопрос GitHub от сотрудника Hashicorp о методологии управления версиями:

В HashiCorp мы очень серьезно относимся к идее v1.0и как только Terraform попадет туда, это станет серьезным обещанием совместимости, потому что мы считаем, что язык конфигурации, внутренняя архитектура, CLI и другие функции продукта подходят для длительного использования.

Текущее состояние Terraformнемного более тонкий. Мы по-прежнему считаем обратную совместимость очень важной, поскольку знаем, что сегодня существует много производственной инфраструктуры, зависящей от Terraform. Поэтому мы должны идти на компромиссы, чтобы мы могли продолжать продвигаться к тому, о чем мы могли обещать в версии 1.0. Хотя мы сводим эти сбои к минимуму, их не всегда можно избежать, поэтому мы стараемся быть очень откровенными о них в журнале изменений и, где это применимо, в руководствах по обновлению.

Имея это в виду, на этомвремя, которое мы предлагаем всегда ссылаться на журнал изменений перед обновлением, так как это наш основной способ отметить любые особые соображения, которые применяются во время обновления. Мы пытаемся зарезервировать значительные переломные изменения для увеличения до второй (традиционно «второстепенной») позиции в номере версии, которая в настоящее время представляет наши «основные» вехи развития, поскольку мы работаем над возможной версией 1.0.

Поскольку Terraform является приложением, а не библиотекой, мы не собираемся следовать соглашениям семантической версионности к букве, но, поскольку они действительно представляют общую идиому версионирования, мы, вероятно, будем следовать им по духу, поскольку, конечно, мы хотим бытьясно, насколько это возможно. Как отметил @kshep, выпуски v0 являются особыми в соглашениях semver, но значение v1.0 в semver в целом соответствует тому, как мы намереваемся его интерпретировать.

Извините, что наши методы нумерации версий привели кпутаница здесь;Основываясь на этом отзыве, мы попытаемся прояснить значимость и риск каждого выпуска, когда мы объявим о нем, и поработаем над написанием более подробной документации к тому, что я написал выше.

Ссылка: https://github.com/hashicorp/terraform/issues/15839#issuecomment-323106524

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