Инструмент Автоматизации Контроля Версий

Всем привет! Вы всегда задавались вопросом, что такое версии продукта и как ими управлять? Как автоматизировать контроль версий разработки? Пожалуйста под кат.

Инструмент автоматизации контроля версий

Меня зовут Роман.

Я разработчик в очень интересной компании Softeq, где каждый человек — вдохновение.

Разрабатывая различные инструменты, я начал задумываться о том, все ли разработчики знают, что такое версия, в чем ее смысл и как ею управлять во время разработки.

Итак, давайте посмотрим, что такое версионирование.



Управление версиями

Управление версиями — это разработка и управление несколькими выпусками продукта, которые имеют одинаковую общую функциональность, но улучшены, модернизированы или настроены.

Короче говоря, версия указывает на изменение продукта.

Как версия указывает на изменение продукта? Назовем систему расположения символов для обозначения версии продукта схемой версионирования.

Различные схемы Записи о версиях были созданы для отслеживания версий различного программного обеспечения.



Инструмент автоматизации контроля версий



Семантическое управление версиями

Существует множество схем управления версиями, но мы столкнулись с Семантическое управление версиями каждый день.

Семантическое управление версиями характеризуется тем, что номера версий и то, как они изменяются, передают смысл содержания исходного кода и то, какие модификации были применены от одной версии к другой.

Рассмотрим, как формируется семантический номер версии.



Инструмент автоматизации контроля версий

Давайте представим, что у нас есть проект в разработке.

Основная задача проекта – управление строительством библиотеки.

Проект позволяет заказывать материалы для строительства здания и контролировать этапы строительства библиотеки.

На данный момент спроектирована архитектура приложения и реализованы основные задачи.

При тестировании функционала заказа материалов для строительства здания библиотеки обнаружена ошибка, ошибка .

Ошибка исправляется и Пластырь версия проекта.



Инструмент автоматизации контроля версий

У заказчика возникла идея о необходимости внедрения в проект анализа маркетинговой информации.

Разработчики умело и быстро спроектировали сервисы анализа данных и интегрированные сервисы с новейшей архитектурой.

Добавлен новый функционал проекта, не нарушающий Обратная совместимость .

Повысился Незначительный версия проекта.



Инструмент автоматизации контроля версий

Проект был успешно реализован.

Через некоторое время у заказчика возникла идея разработать данную технологию автоматизации бизнеса.

В ближайшие планы вошли совершенно новые сервисы: формирование команды строителей, внутренняя социальная сеть, внутренний обмен документами и т. д. Разработчики проявили высокую компетентность, и через некоторое время архитектура проекта была рассчитана на решение как новых, так и старых задач.

Новая архитектура проекта внесла обратно несовместимые изменения.

Повысился Главный версия проекта.



Инструмент автоматизации контроля версий

Полная картина выглядит так, но с этим редко встретишь.



Инструмент автоматизации контроля версий






Инструмент автоматизации контроля версий






Инструмент автоматизации контроля версий

Итак, мы познакомим вас с версиями продукта.

Но как ими управлять? Давайте взглянем на инструмент автоматизации контроля версий.



Версии

НПМ: https://www.npmjs.com/package/versionings Гитхаб: https://github.com/morozow/versionings Контроль версий осуществляется с помощью командной строки:
  
   

versionings --semver=[<semantic-version> | patch | prepatch | minor | preminor | premajor | prerelease | major] --branch=[<version-branch-name> | any-hyphen-case-less-100-characters-string] [--push]

Текущая версия продукта хранится как в файле проекта .

/package.json, так и в тегах Git и ветке обновления версии.

Автоматизация имеет возможность интеграции с различными сторонними инструментами — контроль версий осуществляется через команду CLI. Давайте рассмотрим пример обновления продукта.



Действия

Текущая версия находится в разработке 2.5.3 .

В филиале ведется разработка нового проекта услуги.

crm-пользователь-сервис .

Разработка сервиса завершена, все изменения зафиксированы и принято решение об обновлении минорной версии:

versionings --semver=minor --branch=user-service --push



Результат

  1. Новая ветка: версия/минор/v 2.6.0 - пользовательский сервис
  2. Изменение версии в

    .

    /package.json

    : 2.5.3 -> 2.6.0

  3. Зафиксируйте новую версию продукта в ветке version/minor/v. 2.6.0 - пользовательский сервис
  4. Запускаем новую ветку с внедрением сервиса и обновленной версией продукта.

  5. Создание запроса на включение для ветки version/minor/v 2.6.0 - пользовательский сервис , который содержит реализацию сервиса и обновленную версию продукта.



Примечания

  • Инструмент автоматизации ориентирован на среду Unix.
  • Пример проекта построения библиотеки является абстрактным, чтобы дать общее представление о версионировании.

Вот и все :) Всем продуктивного дня! Теги: #версия #версия #версии #версия #версия #JavaScript #node.js #npm #пакет #автоматизация #CLI #командная строка #открытый исходный код #JavaScript #*nix #node.js #Управление разработкой
Вместе с данным постом часто просматривают: