Не удается назначить рабочие элементы релизам в DevOps Azure
Я пришел от использования Rally и Pivotal Tracker. В обоих случаях я мог назначать рабочие элементы для выпусков в качестве инструмента планирования и иметь историческую запись тех рабочих элементов, которые были развернуты.
Даже несмотря на все весьма специфические рекомендации Microsoft по DevOps Azure, он не знает, как организовать работу с будущими выпусками. Я не вижу места, где можно даже связать рабочий элемент с выпуском. Есть ли что-то, чего мне не хватает во всей документации, или есть какая-то обходная стратегия, более надежная, чем просто использование тегов для проактивного планирования выпуска? Или Microsoft ожидает, что я использую какой-то отдельный инструмент управления продуктами для управления рабочими элементами в соответствии с Релизами?
2 ответа
Есть несколько методов, используемых для достижения этой цели, а не "один путь":
используйте родительский путь итерации, который группирует итерации, которые вы планируете, для определенного выпуска. Это работает лучше всего, когда вы полностью закончите одну версию перед началом следующей. В противном случае это обычно становится беспорядком с несколькими активными итерациями.
Backlog Iteration + Release 1.0 + Sprint 1 + Sprint 2 + Sprint 3 + Release 2.0 + etc
-
используйте теги для релизов. Добавьте тег [Release 1.0] поверх всех рабочих элементов, включенных в этот выпуск, это один из самых гибких вариантов.
используйте конвейеры Azure, чтобы отслеживать, какие рабочие элементы были связаны с каким-либо коммитом Git и, следовательно, были включены в какой артефакт сборки. Отслеживайте артефакты сборки в разных средах, чтобы увидеть, какие рабочие элементы были развернуты в среде, просмотрев промежуточные сборки.
добавьте настраиваемое поле рабочего элемента к типам рабочих элементов, которые вы хотите отслеживать. Вы можете изменить используемый процесс рабочего элемента и добавить к рабочим элементам поле, в котором вы можете указать название / номер выпуска. Доступны настраиваемые элементы управления, которые могут ограничивать номера версий конкретным списком или извлекать разрешенные значения из любого REST API.
Azure DevOps более гибок в использовании, как вы можете видеть, но это также означает, что иногда вам нужно "выяснить, что работает лучше" для вашей команды.
Еще одно расширение, которое может вас заинтересовать, - расширение Bravo Notes. Или одно из других расширений, которое может генерировать примечания к выпуску на основе данных рабочего элемента, фиксаций и / или артефактов конвейера.
В дополнение к ответу @jessehouwing я могу добавить
- Вместо родительского пути итерации в настоящее время я использую родительскую инициативу. Ниже вы можете сгруппировать эпики, особенности и предметы запланированной версии.
Однако у этого варианта, как и у других вариантов, есть свои недостатки. По моему опыту (пробовал 1, 2, 5, сейчас настраиваю 3):
- Как написал Джесси... это почти идеально, в том числе в отношении запросов и дашбордов - если только работа не перекрывается, что (я думаю) происходит естественным образом ближе к концу одного цикла выпуска и началу другого. По моему опыту, чистых сокращений в циклах спринта... не существует :) Для общих целей (dahsboards) это может быть не важно, но для других целей это слишком нечетко.
- Много работы по поддержанию всех тегов в актуальном состоянии, особенно когда товары меняются. Склонен «что-то упускать». Тем не менее, его легко использовать в запросах/панелях мониторинга и он будет наиболее гибким - я думаю, что это единственный вариант здесь, который может обрабатывать элементы, являющиеся частью более чем одного выпуска.
- Это, вероятно, наиболее точный вариант фактической поставки (когда все ссылки выполнены правильно), но не помогает при планировании будущих версий.
- Ручная работа, как с тегами, но, возможно, более выраженная/очевидная и может быть принудительно реализована (требуется проверка). Мы еще не пробовали этот вариант, поскольку он требует согласования с администраторами Azure и, возможно, другими командами. Все остальные опции работают из коробки со стандартными правами.
- Почти как 1. но без нечеткого перекрытия (хорошо), но запросить его невозможно (плохо). Я искал запрос типа «все ниже родительского X», но не нашел решения. И тогда инициативы имеют значение «версия», что нас устраивает, но другие могут захотеть использовать другую семантику, например «Большая тема А», независимо от того, что входит в какой выпуск.
Итак... Я, наверное, попробую 4. дальше и посмотрю, к чему это приведет :)