Комментарии 6
Я смотрю в вашей статье довольно развесистые цепочки билд-конфигураций, и у меня родился вопрос слегка оффтопный. На меня недавно повесили работу с билдами в TC, я в этом ещё неопытен, и я столкнулся с проблемой: вот сделал я (или предыдущий инженер) цепочку конфигураций, в ней было сделано несколько релизов, эти билды пометили pinned для истории. А через некоторое время решили, что цепочка неоптимальна, и её надо поменять — часть конфигураций удалить, часть добавить. Но вот беда: нужно сохранить все pinned-билды и артефакты, в т.ч. промежуточные. Как это правильно сделать? Как удалять старые ненужные конфигурации, не теряя исторические билды?
В TC 2020.1.2 не вижу пункта "Attach build history" — это в 2020.2 появилось? Это действие сливает истории двух конфигураций вместе, или замещает одну историю другой?
Либо, для релизов всегда делать копии проектов. Тогда релиз остаётся нетронутым, и продолжает работать как работал, а в транке/мастере всё переделывается. Как правило такой подход лучше потому что всегда должна быть возможность выпустить срочных хотфикс и для этого лучше оставлять релизные конфигурации нетронутыми, как они были в момент релиза.
Тут противоречивые требования. С одной стороны хочется удалить что то, с другой хочется сохранить эти артефакты.
Удалить хочется билд-конфигурации (т.е. по сути шаги для создания билда), а сохранить хочется сделанные билды. Сейчас, по сути, история билдов прибита к конфигурациям, её нельзя оторвать, не потеряв, нельзя перенести в другое место (внутри ТС), нельзя слить две истории в одну.
как вариант, можно артефакты перенести в другое место.
Тогда потеряется мета-информация: теги, комменты, ссылки на багтрекер и проч. Но, возможно, вы правы, и действительно, использовать TC как постоянное хранилище артефактов — это неправильно, и нужно заводить отдельный сервис.
Либо, для релизов всегда делать копии проектов.
Если множить копии, тогда быстро упрёшься в лимит лицензии на число конфигураций.
Подход к интеграции .NET в TeamCity