Автоматизированный Semver в Git + Jenkins - как вы вернетесь к версии, чтобы выпустить исправление? - PullRequest
0 голосов
/ 18 октября 2018

, поэтому мы хотим автоматизировать процесс управления версиями в приложении, предпочтительно с использованием соглашения SEMVER.

Итак, мы пришли к следующей идее:

  • Множество функций / исправление ошибок / MajorПодтверждение ветвления, запрашиваемое в скажем develop ветвь.
  • Когда выполняется сборка Jenkins в develop ветке, он берет файл JSON из, скажем, ветки versioning, поэтому теперь он знает текущее управление версиями (скажем,: 2.0.0) - используя некоторый материал журнала git, мы сможем определить, какие ветви были объединены в develop, и таким образом определить, нужно ли нам увеличивать номера MAJOR, MINOR или PATCH (или некоторые из них сразу).

Это прекрасно работает, пока нам не понадобится выполнить одно из следующих двух действий:

  • Допустим, текущая разработка ведется на 2.1.1 (1 патч, 1функция слилась, но пока не в прод!).Теперь нам нужно срочно выпустить еще одно исправление критической ошибки в production (то есть в 2.0.0) - но теперь JSON-файл в ветке управления версиями, а также в ветке разработки указывают на 2.1.1.Как мы поступаем с выпуском 2.0.1 как срочное исправление ошибки?
  • Допустим, одна из функций, которые мы выпустили для develop, плохая, нам нужно откатиться, чтобы разработать (так что теперь это будет 2.0.1) -как мы справимся с этим?
...