У меня есть конвейер ConcourseCI, который автоматически увеличивает мой номер версии, используя этот тип ресурса: https://github.com/concourse/semver-resource
Объявление моего ресурса выглядит так:
- name: version
type: semver
source:
driver: git
initial_version: 0.0.1
uri: {{version-repo-uri}}
branch: {{version-repo-branch}}
file: {{version-file}}
private_key: {{git-key}}
И моя работа выглядит так:
- name: increment-version
plan:
- get: {{git-repo-name}}
trigger: true
- get: version
params: {bump: patch}
- put: version
params: {file: version/version}
Итак, как вы можете видеть, сейчас я всегда сталкиваюсь с версией PATCH.Тем не менее, я хотел бы, чтобы в зависимости от обстоятельств простой и желательно автоматизированный способ для конвейера увеличивал версию MAJOR, MINOR, PATCH или RC.
Есть ли ловушка git или что-то подобное, которая будет знать, когдаподнять что?Какие-либо практические рекомендации по внедрению при автоматизации semver в конвейер?Любой другой тип ресурса Concourse, который я должен использовать вместо этого?Или это то, что мы должны определенно оставить на усмотрение человека?И в таком случае, как легко интегрировать этот «ручной» шаг в конвейер CD?
Самое близкое, что я могу придумать, это наличие файла версии в моем проекте (переданного в github) с предполагаемой версией,который установит номера MAJOR, MINOR, PATCH.Конвейер выбирает этот файл, каким-то образом использует его в качестве базы и только увеличивает числа RC, но это невероятно подвержено ошибкам.
Чтобы быть ясным, я не спрашиваю, как выпустить версии в теории, изначения того, что является основным, второстепенным или патчем.Я спрашиваю на практике, как реализовать эти рекомендации, перечисленные в https://semver.org/.